@mirai/core 0.4.296 → 0.4.298
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/components/CardHotel/CardHotel.js +3 -2
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +2 -1
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +2 -6
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.events.js +6 -3
- package/build/contexts/PerformanceManager/PerformanceManager.events.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.scripts.js +3 -0
- package/build/contexts/PerformanceManager/PerformanceManager.scripts.js.map +1 -1
- package/package.json +1 -1
|
@@ -121,6 +121,7 @@ const CardHotel = function () {
|
|
|
121
121
|
} : features[hotelId]) || {};
|
|
122
122
|
const {
|
|
123
123
|
confidential,
|
|
124
|
+
deals = [],
|
|
124
125
|
discount: {
|
|
125
126
|
breakdown = []
|
|
126
127
|
} = {},
|
|
@@ -139,12 +140,12 @@ const CardHotel = function () {
|
|
|
139
140
|
type
|
|
140
141
|
} = _ref;
|
|
141
142
|
return type === _Rates.DISCOUNT_TYPE.PROMOTION;
|
|
142
|
-
}) || breakdown.find(_ref2 => {
|
|
143
|
+
}) || (breakdown.find(_ref2 => {
|
|
143
144
|
let {
|
|
144
145
|
type
|
|
145
146
|
} = _ref2;
|
|
146
147
|
return type === _Rates.DISCOUNT_TYPE.DEAL;
|
|
147
|
-
}) && confidential;
|
|
148
|
+
}) || deals.length > 0) && confidential;
|
|
148
149
|
const {
|
|
149
150
|
percentage: clubPercentage = 0
|
|
150
151
|
} = breakdown.find(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","board","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","propPrice","priceFactor","stars","taxes","unavailability","arguments","length","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","Event","publish","EVENT","METRICS","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","placeId","title","placeName","promocode","hotelName","confidential","discount","breakdown","originalPrice","showPricePerNight","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","promocodeForAll","_ref","type","DISCOUNT_TYPE","PROMOTION","_ref2","DEAL","percentage","clubPercentage","CLUB","promoPercentage","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","offset","spaceBetween","Icon","ICON","LOCATION","Text","small","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","format","bold","headline","Array","from","Action","getHotelUrl","target","underline","onPress","ACTION_VIEW_HOTEL","summary","tag","LABEL_ONLY_MEMBERS_DISCOUNT","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","level","currencyFormat","light","lineThrough","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","string","bool","oneOfType","number","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price: propPrice,\n priceFactor = 1,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SELECT' });\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: true };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, discount: { breakdown = [] } = {}, originalPrice = 0 } = board;\n const price = propPrice / priceFactor;\n const showPricePerNight = priceFactor > 1;\n const currencyFormatProps = { currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const promocodeForAll =\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential);\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} metrics=\"HOTELS:ITEM\" width={sliderWidth} className={style.slider} />\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline>\n {name}\n </Text>\n {stars > 0 && <Text headline>{Array.from({ length: stars }, () => '★')}</Text>}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SITE' })}\n >\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {promocode && promocodeForAll && (\n <Text bold small className={style.tag}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price })}\n </Text>\n {originalPrice > 0 && price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? propPrice : price / nights,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n <Text light small>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n priceFactor: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","board","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","propPrice","priceFactor","stars","taxes","unavailability","arguments","length","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","Event","publish","EVENT","METRICS","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","placeId","title","placeName","promocode","hotelName","confidential","deals","discount","breakdown","originalPrice","showPricePerNight","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","promocodeForAll","_ref","type","DISCOUNT_TYPE","PROMOTION","_ref2","DEAL","percentage","clubPercentage","CLUB","promoPercentage","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","offset","spaceBetween","Icon","ICON","LOCATION","Text","small","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","format","bold","headline","Array","from","Action","getHotelUrl","target","underline","onPress","ACTION_VIEW_HOTEL","summary","tag","LABEL_ONLY_MEMBERS_DISCOUNT","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","level","currencyFormat","light","lineThrough","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","string","bool","oneOfType","number","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price: propPrice,\n priceFactor = 1,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SELECT' });\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: true };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, deals = [], discount: { breakdown = [] } = {}, originalPrice = 0 } = board;\n const price = propPrice / priceFactor;\n const showPricePerNight = priceFactor > 1;\n const currencyFormatProps = { currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const promocodeForAll =\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n ((breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) || deals.length > 0) && confidential);\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} metrics=\"HOTELS:ITEM\" width={sliderWidth} className={style.slider} />\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline>\n {name}\n </Text>\n {stars > 0 && <Text headline>{Array.from({ length: stars }, () => '★')}</Text>}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SITE' })}\n >\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {promocode && promocodeForAll && (\n <Text bold small className={style.tag}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price })}\n </Text>\n {originalPrice > 0 && price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? propPrice : price / nights,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n <Text light small>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n priceFactor: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
@@ -147,6 +147,7 @@ const Rates = _ref => {
|
|
|
147
147
|
})[0];
|
|
148
148
|
const {
|
|
149
149
|
confidential,
|
|
150
|
+
deals = [],
|
|
150
151
|
discount: {
|
|
151
152
|
breakdown = []
|
|
152
153
|
} = {}
|
|
@@ -155,7 +156,7 @@ const Rates = _ref => {
|
|
|
155
156
|
let {
|
|
156
157
|
type
|
|
157
158
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
158
|
-
return type === _Rates.DISCOUNT_TYPE.PROMOTION ||
|
|
159
|
+
return type === _Rates.DISCOUNT_TYPE.PROMOTION || deals.length > 0 && confidential;
|
|
159
160
|
});
|
|
160
161
|
const {
|
|
161
162
|
percentage: promoPercentage = 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_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","hideStandaloneBoard","showOffersFirst","showRateIncluded","id","idItem","priceFactor","promocodeForAll","rates","selectedBoard","uniqueOption","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","hasBasePrice","find","arguments","inline","concat","outlined","onPress","action","medium","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","board","confidential","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","percentage","promoPercentage","offerPercentage","RateDetails","tags","LABEL_DISCOUNT","Math","round","small","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","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 { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n id: idItem,\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n uniqueOption = false,\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 boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n cancellations: cancellations.length > 0,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_CANCELLATION_POLICY)}</Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n hasBasePrice={!!cancellations.find(({ price } = {}) => !price)}\n inline={has.inlineCancellations}\n name={`Cancellation ${idItem}`}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={!uniqueOption ? () => onCancellation(id) : undefined}\n >\n <Text action medium={highlight} className={style.optionText}>\n {highlight ? (\n <Text action medium={highlight} className={styles(highlight && style.tag)}>\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 bold>{translate(L10N.LABEL_OFFER)}</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 { confidential, discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n hasBasePrice={!!rates.find(({ price } = {}) => !price)}\n name={`Rate ${idItem}`}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={!uniqueOption ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action medium className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\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 bold>{translate(L10N.LABEL_ACCOMMODATION_PLAN)}</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 hasBasePrice={!!boards.find(({ increment } = {}) => !increment)}\n inline={has.inlineBoards}\n name={`Board ${idItem}`}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={!uniqueOption ? () => onBoard(board) : undefined}\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 showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n id: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n uniqueOption: PropTypes.bool,\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":";;;;;;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,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAC,uBAAA,CAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AAAqE,SAAAY,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,SAAAJ,wBAAAI,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,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAErE,MAAMC,KAAK,GAAGC,IAAA,IAuBR;EAAA,IAvBS;IACbC,eAAe,GAAG,EAAE;IACpBC,cAAc,GAAG,EAAE;IACnBC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,EAAE;MACRC,UAAU;MACVC,SAAS,GAAG,KAAK;MACjBC,mBAAmB,GAAG,KAAK;MAC3BC,eAAe,GAAG,KAAK;MACvBC,gBAAgB,GAAG;IACrB,CAAC,GAAG,CAAC,CAAC;IACNC,EAAE,EAAEC,MAAM;IACVC,WAAW,GAAG,CAAC;IACfC,eAAe;IACfC,KAAK,GAAG,EAAE;IACVC,aAAa,GAAG,CAAC,CAAC;IAClBC,YAAY,GAAG,KAAK;IACpBC,OAAO;IACPC,cAAc;IACdC,kBAAkB;IAClBC,MAAM;IACNC;EACF,CAAC,GAAAtB,IAAA;EACC,MAAM;IAAEuB;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM;IAAEC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC;MAAU,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEjE,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAErB,EAAE,EAAEsB;EAAQ,CAAC,GAAGjB,aAAa;EAE7D,MAAMhC,GAAG,GAAG;IACVmB,MAAM,EAAEA,MAAM,CAAC+B,MAAM,IAAI1B,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAC;IACrDJ,aAAa,EAAEA,aAAa,CAAC8B,MAAM,GAAG,CAAC;IACvCC,YAAY,EAAE5B,SAAS,IAAIJ,MAAM,CAAC+B,MAAM,GAAG,CAAC,IAAI/B,MAAM,CAAC+B,MAAM,KAAK5B,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;IACrF8B,mBAAmB,EAAE7B,SAAS,IAAIH,aAAa,CAAC8B,MAAM,GAAG,CAAC,IAAI9B,aAAa,CAAC8B,MAAM,KAAK5B,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1GS,KAAK,EAAEb,cAAc,CAACgC,MAAM,GAAG;EACjC,CAAC;EAED,MAAMG,qBAAqB,GAAGjC,aAAa,CAACkC,MAAM,CAChDC,KAAA;IAAA,IAAC;MAAE5B;IAAG,CAAC,GAAA4B,KAAA;IAAA,OAAK,CAAC9B,eAAe,IAAKA,eAAe,KAAKE,EAAE,KAAKoB,cAAc,IAAI,CAAC/C,GAAG,CAAC+B,KAAK,CAAE;EAAA,CAC5F,CAAC;EAED,MAAMyB,mBAAmB,GAAGA,CAAA,KAC1BxD,GAAG,CAACoB,aAAa,iBACflC,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA2E,IAAI;IAACC,SAAS,EAAE,CAACtE,KAAK,CAACuE,MAAM,EAAEvE,KAAK,CAACwE,GAAG;EAAE,gBACzC3E,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;IAACC,IAAI;EAAA,GAAEtB,SAAS,CAACuB,UAAI,CAACC,yBAAyB,CAAQ,CAAC,eAE5DC,cAAK,CAACT,aAAa,CAClBzD,GAAG,CAACoD,mBAAmB,GAAGM,QAAI,GAAGQ,cAAK,CAACC,QAAQ,EAC/CnE,GAAG,CAACoD,mBAAmB,GAAG;IAAEgB,GAAG,EAAE,IAAI;IAAET,SAAS,EAAEtE,KAAK,CAACgF;EAAc,CAAC,GAAGC,SAAS,EACnFjB,qBAAqB,CAACkB,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,SAAS;MAAE9C,EAAE;MAAE+C,IAAI;MAAEC,OAAO;MAAEC,KAAK;MAAE,GAAGC;IAAa,CAAC,GAAAL,KAAA;IAAA,oBACjFtF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAACtE,WAAA,CAAA2F,MAAM;MACLC,GAAG,EAAEpD,EAAG;MACRgD,OAAO,EAAEA,OAAQ;MACjBK,OAAO,EAAErD,EAAE,KAAKoB,cAAe;MAC/BkC,YAAY,EAAE,CAAC,CAAC7D,aAAa,CAAC8D,IAAI,CAAC;QAAA,IAAC;UAAEN;QAAM,CAAC,GAAAO,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAACP,KAAK;MAAA,EAAE;MAC/DQ,MAAM,EAAEpF,GAAG,CAACoD,mBAAoB;MAChCsB,IAAI,kBAAAW,MAAA,CAAkBzD,MAAM,CAAG;MAC/B0D,QAAQ,EAAE/D,SAAU;MACpBoB,KAAK,EAAE,CAAClB,eAAe,GAAGmD,KAAK,GAAG/C,WAAW,GAAGyC,SAAU;MAC1DiB,OAAO,EAAE,CAACtD,YAAY,GAAG,MAAME,cAAc,CAACR,EAAE,CAAC,GAAG2C;IAAU,gBAE9DpF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MAAC0B,MAAM;MAACC,MAAM,EAAEhB,SAAU;MAACd,SAAS,EAAEtE,KAAK,CAACqG;IAAW,GACzDjB,SAAS,gBACRvF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MAAC0B,MAAM;MAACC,MAAM,EAAEhB,SAAU;MAACd,SAAS,EAAE,IAAAgC,UAAM,EAAClB,SAAS,IAAIpF,KAAK,CAACuG,GAAG;IAAE,GACvElB,IACG,CAAC,GAEPA,IACD,eAEDxF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA8G,SAAS;MAACN,OAAO,EAAEA,CAAA,KAAMnD,kBAAkB,CAAC;QAAE,GAAGJ,aAAa;QAAE6C;MAAa,CAAC;IAAE,gBAC/E3F,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+G,IAAI;MAACC,SAAS;MAACpD,KAAK,EAAEqD,aAAI,CAACC;IAAK,CAAE,CAC1B,CACP,CACA,CAAC;EAAA,CACV,CACH,CACI,CACP;EAEH,oBACE/G,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAAvE,MAAA,CAAAa,OAAA,CAAAoE,QAAA,QACG,CAAC1C,eAAe,IAAI+B,mBAAmB,CAAC,CAAC,EAEzCxD,GAAG,CAAC+B,KAAK,iBACR7C,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA2E,IAAI;IAACC,SAAS,EAAE,CAACtE,KAAK,CAACuE,MAAM,EAAEvE,KAAK,CAACwE,GAAG;EAAE,gBACzC3E,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;IAACC,IAAI;EAAA,GAAEtB,SAAS,CAACuB,UAAI,CAACkC,WAAW,CAAQ,CAAC,EAC9CnE,KAAK,CAACwC,GAAG,CACR4B,KAAA,IAAmG;IAAA,IAAlG;MAAExE,EAAE;MAAEoB,cAAc;MAAEqD,SAAS;MAAEC,WAAW;MAAEC,QAAQ;MAAEC,QAAQ;MAAE7B,IAAI;MAAEE,KAAK;MAAE4B;IAAa,CAAC,GAAAL,KAAA;IAC5F,MAAMM,IAAI,GAAG1E,KAAK,CAACmD,IAAI,CAAEuB,IAAI,IAAKA,IAAI,CAAC9E,EAAE,KAAKA,EAAE,CAAC;IACjD,MAAM+E,KAAK,GAAGzF,eAAe,CAACqC,MAAM,CAAC;MAAA,IAAC;QAAEN;MAAO,CAAC,GAAAmC,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKnC,MAAM,KAAKrB,EAAE;IAAA,EAAC,CAAC,CAAC,CAAC;IAC3E,MAAM;MAAEgF,YAAY;MAAEC,QAAQ,EAAE;QAAEC,SAAS,GAAG;MAAG,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGH,KAAK,IAAI,CAAC,CAAC;IACvE,MAAMI,WAAW,GACfjE,SAAS,IACT,CAACf,eAAe,IAChB+E,SAAS,CAAC3B,IAAI,CACZ;MAAA,IAAC;QAAE6B;MAAK,CAAC,GAAA5B,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK4B,IAAI,KAAKC,oBAAa,CAACC,SAAS,IAAKF,IAAI,KAAKC,oBAAa,CAACE,IAAI,IAAIP,YAAa;IAAA,CACtG,CAAC;IACH,MAAM;MAAEQ,UAAU,EAAEC,eAAe,GAAG;IAAE,CAAC,GACvCP,SAAS,CAAC3B,IAAI,CAAC;MAAA,IAAC;QAAE6B;MAAK,CAAC,GAAA5B,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK4B,IAAI,KAAKC,oBAAa,CAACC,SAAS;IAAA,EAAC,IAAI,CAAC,CAAC;IAC3E,MAAM;MAAEE,UAAU,EAAEE,eAAe,GAAG;IAAE,CAAC,GACvCR,SAAS,CAAC3B,IAAI,CAAC;MAAA,IAAC;QAAE6B;MAAK,CAAC,GAAA5B,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK4B,IAAI,KAAKC,oBAAa,CAACE,IAAI;IAAA,EAAC,IAAI,CAAC,CAAC;IAEtE,oBACEhI,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAACtE,WAAA,CAAA2F,MAAM;MACLC,GAAG,EAAEpD,EAAG;MACRgD,OAAO,eACLzF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAACtE,WAAA,CAAAmI,WAAW;QAERlB,SAAS;QACTG,QAAQ,EAAE7E,gBAAgB,GAAG6E,QAAQ,GAAGjC,SAAS;QACjDkC,YAAY;QACZxE,aAAa,EACXA,aAAa,CAACgB,MAAM,KAAKrB,EAAE,GACvBK,aAAa,GACbf,eAAe,CAACqC,MAAM,CAAC;UAAA,IAAC;YAAEN;UAAO,CAAC,GAAAmC,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;UAAA,OAAKnC,MAAM,KAAKrB,EAAE;QAAA,EAAC,CAAC,CAAC,CAAC;QACnEW,WAAW,EAAEA,CAAA,KAAMA,WAAW,CAAC;UAAE,GAAGmE,IAAI;UAAExF;QAAgB,CAAC;MAAC,CAE/D,CACF;MACD+D,OAAO,EAAErD,EAAE,KAAKqB,MAAO;MACvBsD,QAAQ,EAAEA,QAAS;MACnBrB,YAAY,EAAE,CAAC,CAAClD,KAAK,CAACmD,IAAI,CAAC;QAAA,IAAC;UAAEN;QAAM,CAAC,GAAAO,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAACP,KAAK;MAAA,EAAE;MACvDF,IAAI,UAAAW,MAAA,CAAUzD,MAAM,CAAG;MACvB0D,QAAQ,EAAE/D,SAAU;MACpBoB,KAAK,EAAEiC,KAAK,GAAG/C,WAAY;MAC3B0D,OAAO,EAAE,CAACtD,YAAY,GAAG,MAAMI,MAAM,CAAC;QAAEV,EAAE;QAAEoB;MAAe,CAAC,CAAC,GAAGuB;IAAU,GAEzEvC,KAAK,CAACmB,MAAM,GAAG,CAAC,iBACfhE,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MAAC2B,MAAM,EAAElE,SAAU;MAACiE,MAAM;MAAC7B,SAAS,EAAEtE,KAAK,CAACqG;IAAW,gBAC1DxG,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA2E,IAAI;MAACU,GAAG;MAACT,SAAS,EAAEtE,KAAK,CAACkI;IAAK,GAC7BF,eAAe,GAAG,CAAC,iBAClBnI,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MAAC0B,MAAM;MAACC,MAAM;MAAC9B,SAAS,EAAEtE,KAAK,CAACuG;IAAI,GACtCnD,SAAS,CAACuB,UAAI,CAACwD,cAAc,EAAE;MAAE7E,KAAK,KAAA0C,MAAA,CAAKoC,IAAI,CAACC,KAAK,CAACL,eAAe,CAAC;IAAI,CAAC,CACxE,CAEJ,CAAC,EAEN3C,IAAI,EAEJ,CAAC2B,WAAW,IAAIE,QAAQ,CAACrD,MAAM,GAAG,CAAC,kBAClChE,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA8G,SAAS;MAACN,OAAO,EAAEA,CAAA,KAAMjD,WAAW,CAAC;QAAE,GAAGmE,IAAI;QAAExF;MAAgB,CAAC;IAAE,gBAClE/B,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+G,IAAI;MAACC,SAAS;MAACpD,KAAK,EAAEqD,aAAI,CAACC;IAAK,CAAE,CAC1B,CACZ,EACAa,WAAW,iBACV5H,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MAACC,IAAI;MAAC4D,KAAK;MAAChE,SAAS,EAAE,IAAAgC,UAAM,EAACtG,KAAK,CAACuG,GAAG,EAAEvG,KAAK,CAACoF,SAAS;IAAE,gBAC7DvF,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;MACHC,IAAI;MACJ4D,KAAK;MACLhE,SAAS,EACPd,SAAS,CAACK,MAAM,IAAIX,QAAQ,GAAGqF,oBAAa,CAACC,MAAM,GAAGD,oBAAa,CAACE,OAAO,CAAC,IAC5EzI,KAAK,CAAC0I;IACP,GAEAlF,SAAS,CAACmF,WAAW,CAAC,CACnB,CAAC,EACNZ,eAAe,QAAA/B,MAAA,CAAQoC,IAAI,CAACC,KAAK,CAACN,eAAe,CAAC,SAAM,EACrD,CAEJ,CAEF,CAAC;EAEb,CACF,CACI,CACP,EAEA3F,eAAe,IAAI+B,mBAAmB,CAAC,CAAC,EAExCxD,GAAG,CAACmB,MAAM,iBACTjC,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA2E,IAAI;IAACC,SAAS,EAAE,IAAAgC,UAAM,EAACtG,KAAK,CAACuE,MAAM,EAAEvE,KAAK,CAACwE,GAAG;EAAE,gBAC/C3E,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA+E,IAAI;IAACC,IAAI;EAAA,GAAEtB,SAAS,CAACuB,UAAI,CAACiE,wBAAwB,CAAQ,CAAC,eAE3D/D,cAAK,CAACT,aAAa,CAClBzD,GAAG,CAACmD,YAAY,GAAGO,QAAI,GAAGQ,cAAK,CAACC,QAAQ,EACxCnE,GAAG,CAACmD,YAAY,GAAG;IAAEiB,GAAG,EAAE,IAAI;IAAET,SAAS,EAAEtE,KAAK,CAACgF;EAAc,CAAC,GAAGC,SAAS,EAC5EnD,MAAM,CAACoD,GAAG,CAAC,YAAgB;IAAA,IAAfmC,KAAK,GAAAvB,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;IACpB,MAAM;MAAEmB,QAAQ;MAAE3E,EAAE;MAAEuG,SAAS;MAAExD,IAAI;MAAEyD,QAAQ,GAAG;IAAG,CAAC,GAAGzB,KAAK;IAE9D,oBACExH,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAACtE,WAAA,CAAA2F,MAAM;MACLC,GAAG,EAAEpD,EAAG;MACRqD,OAAO,EAAErD,EAAE,KAAKsB,OAAQ;MACxBqD,QAAQ,EAAEA,QAAS;MACnBrB,YAAY,EAAE,CAAC,CAAC9D,MAAM,CAAC+D,IAAI,CAAC;QAAA,IAAC;UAAEgD;QAAU,CAAC,GAAA/C,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAAC+C,SAAS;MAAA,EAAE;MAChE9C,MAAM,EAAEpF,GAAG,CAACmD,YAAa;MACzBuB,IAAI,WAAAW,MAAA,CAAWzD,MAAM,CAAG;MACxB0D,QAAQ,EAAE/D,SAAU;MACpB6G,KAAK,EAAE1D,IAAK;MACZ/B,KAAK,EAAE3C,GAAG,CAACmB,MAAM,GAAG+G,SAAS,GAAGrG,WAAW,GAAGyC,SAAU;MACxDiB,OAAO,EAAE,CAACtD,YAAY,GAAG,MAAMC,OAAO,CAACwE,KAAK,CAAC,GAAGpC;IAAU,GAEzD6D,QAAQ,CAACjF,MAAM,GAAG,CAAC,iBAClBhE,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAACtE,WAAA,CAAAkJ,YAAY;MACXC,QAAQ,EAAEH,QAAQ,CAAC5D,GAAG,CAAC;QAAA,IAAC;UAAEG;QAAK,CAAC,GAAAS,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKT,IAAI;MAAA,EAAE;MAChD6D,MAAM,EAAEJ,QAAQ,CAAC5D,GAAG,CAAC;QAAA,IAAC;UAAE5B;QAAM,CAAC,GAAAwC,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAb,SAAA,GAAAa,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,IAAAqD,iBAAS,EAAC7F,KAAK,CAAC;MAAA;IAAE,CAC5D,CAEG,CAAC;EAEb,CAAC,CACH,CACI,CACP,eAEDzD,MAAA,CAAAa,OAAA,CAAA0D,aAAA,CAAC1E,GAAA,CAAA2E,IAAI,MAAE,CACP,CAAC;AAEP,CAAC;AAAC+E,OAAA,CAAA1H,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC2H,SAAS,GAAG;EAChBzH,eAAe,EAAE0H,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACjD3H,cAAc,EAAEyH,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAChD1H,MAAM,EAAEwH,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACxCzH,aAAa,EAAEuH,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAC/CxH,QAAQ,EAAEsH,kBAAS,CAACG,KAAK,CAAC;IACxBxH,UAAU,EAAEqH,kBAAS,CAACI,IAAI;IAC1BvH,mBAAmB,EAAEmH,kBAAS,CAACI,IAAI;IACnCtH,eAAe,EAAEkH,kBAAS,CAACI,IAAI;IAC/BrH,gBAAgB,EAAEiH,kBAAS,CAACI;EAC9B,CAAC,CAAC;EACFpH,EAAE,EAAEgH,kBAAS,CAACK,MAAM;EACpBnH,WAAW,EAAE8G,kBAAS,CAACK,MAAM;EAC7BlH,eAAe,EAAE6G,kBAAS,CAACI,IAAI;EAC/BhH,KAAK,EAAE4G,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACvC7G,aAAa,EAAE2G,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAClC7G,YAAY,EAAE0G,kBAAS,CAACI,IAAI;EAC5B7G,OAAO,EAAEyG,kBAAS,CAACM,IAAI;EACvB9G,cAAc,EAAEwG,kBAAS,CAACM,IAAI;EAC9B7G,kBAAkB,EAAEuG,kBAAS,CAACM,IAAI;EAClCC,QAAQ,EAAEP,kBAAS,CAACM,IAAI;EACxB3G,WAAW,EAAEqG,kBAAS,CAACM,IAAI;EAC3B5G,MAAM,EAAEsG,kBAAS,CAACM;AACpB,CAAC;AAEDlI,KAAK,CAACoI,WAAW,GAAG,6BAA6B"}
|
|
1
|
+
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_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","hideStandaloneBoard","showOffersFirst","showRateIncluded","id","idItem","priceFactor","promocodeForAll","rates","selectedBoard","uniqueOption","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","hasBasePrice","find","arguments","inline","concat","outlined","onPress","action","medium","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","board","confidential","deals","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","percentage","promoPercentage","offerPercentage","DEAL","RateDetails","tags","LABEL_DISCOUNT","Math","round","small","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","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 { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n id: idItem,\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n uniqueOption = false,\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 boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n cancellations: cancellations.length > 0,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_CANCELLATION_POLICY)}</Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n hasBasePrice={!!cancellations.find(({ price } = {}) => !price)}\n inline={has.inlineCancellations}\n name={`Cancellation ${idItem}`}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={!uniqueOption ? () => onCancellation(id) : undefined}\n >\n <Text action medium={highlight} className={style.optionText}>\n {highlight ? (\n <Text action medium={highlight} className={styles(highlight && style.tag)}>\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 bold>{translate(L10N.LABEL_OFFER)}</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 { confidential, deals = [], discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (deals.length > 0 && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n hasBasePrice={!!rates.find(({ price } = {}) => !price)}\n name={`Rate ${idItem}`}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={!uniqueOption ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action medium className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\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 bold>{translate(L10N.LABEL_ACCOMMODATION_PLAN)}</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 hasBasePrice={!!boards.find(({ increment } = {}) => !increment)}\n inline={has.inlineBoards}\n name={`Board ${idItem}`}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={!uniqueOption ? () => onBoard(board) : undefined}\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 showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n id: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n uniqueOption: PropTypes.bool,\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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"}
|
|
@@ -188,6 +188,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
188
188
|
promocodeForAll: boards.every(function () {
|
|
189
189
|
let {
|
|
190
190
|
confidential,
|
|
191
|
+
deals = [],
|
|
191
192
|
discount: {
|
|
192
193
|
breakdown = []
|
|
193
194
|
} = {}
|
|
@@ -197,12 +198,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
197
198
|
type
|
|
198
199
|
} = _ref4;
|
|
199
200
|
return type === _Rates.DISCOUNT_TYPE.PROMOTION;
|
|
200
|
-
}) ||
|
|
201
|
-
let {
|
|
202
|
-
type
|
|
203
|
-
} = _ref5;
|
|
204
|
-
return type === _Rates.DISCOUNT_TYPE.DEAL;
|
|
205
|
-
}) && confidential;
|
|
201
|
+
}) || deals.length > 0 && confidential;
|
|
206
202
|
}),
|
|
207
203
|
rates: showOffersFirst ? rates.map(rate => ({
|
|
208
204
|
...rate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","propRates","selected","onSelect","others","translate","useLocale","selectedBoard","setSelectedBoard","useState","useEffect","keys","updateSelectedBoard","roomId","id","find","undefined","nextBoard","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","item","price","columnMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","map","included","rate","clubInclude","getClubInclude","getClubRate","filter","ratePrice","visibleBoards","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","promocodeForAll","every","confidential","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","_ref5","DEAL","selectedCancellation","createElement","Card","focus","View","className","card","Preview","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\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';\nimport { getClubInclude, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates: propRates = [],\n selected,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n\n const [selectedBoard, setSelectedBoard] = useState();\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 || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(boards.find(({ id } = {}) => id === metaBoard.id));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\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 multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const rates = propRates.map(({ included = [], ...rate } = {}) => {\n const clubInclude = getClubInclude(\n getClubRate({\n board: boards.filter(({ rateId } = {}) => rateId === rate.id)[0],\n rate,\n }),\n );\n\n return { ...rate, included: clubInclude && included.length ? [...included, translate(clubInclude)] : included };\n });\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 promocodeForAll: boards.every(\n ({ confidential, discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential),\n ),\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 }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} className={[style.card, others.className]}>\n <Preview {...props} />\n\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\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 roomId: PropTypes.number,\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 onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","propRates","selected","onSelect","others","translate","useLocale","selectedBoard","setSelectedBoard","useState","useEffect","keys","updateSelectedBoard","roomId","id","find","undefined","nextBoard","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","item","price","columnMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","map","included","rate","clubInclude","getClubInclude","getClubRate","filter","ratePrice","visibleBoards","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","promocodeForAll","every","confidential","deals","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","selectedCancellation","createElement","Card","focus","View","className","card","Preview","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\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';\nimport { getClubInclude, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates: propRates = [],\n selected,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n\n const [selectedBoard, setSelectedBoard] = useState();\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 || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(boards.find(({ id } = {}) => id === metaBoard.id));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\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 multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const rates = propRates.map(({ included = [], ...rate } = {}) => {\n const clubInclude = getClubInclude(\n getClubRate({\n board: boards.filter(({ rateId } = {}) => rateId === rate.id)[0],\n rate,\n }),\n );\n\n return { ...rate, included: clubInclude && included.length ? [...included, translate(clubInclude)] : included };\n });\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 promocodeForAll: boards.every(\n ({ confidential, deals = [], discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) || (deals.length > 0 && confidential),\n ),\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 }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} className={[style.card, others.className]}>\n <Preview {...props} />\n\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\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 roomId: PropTypes.number,\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 onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
@@ -12,14 +12,16 @@ const EVENTS = exports.EVENTS = {
|
|
|
12
12
|
[_helpers.EVENT.FINDER_READY]: {
|
|
13
13
|
[_Core.PERFORMANCE.GTM]: _providers.ProviderGTM.finderReady,
|
|
14
14
|
[_Core.PERFORMANCE.ANALYTICS]: _providers.ProviderAnalytics.finderReady,
|
|
15
|
-
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined
|
|
15
|
+
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined,
|
|
16
|
+
[_Core.PERFORMANCE.BING]: undefined
|
|
16
17
|
},
|
|
17
18
|
// -- <Rates> ✅
|
|
18
19
|
[_helpers.EVENT.RATES_RESPONSE]: {
|
|
19
20
|
[_Core.PERFORMANCE.GTM]: _providers.ProviderGTM.ratesResponse,
|
|
20
21
|
[_Core.PERFORMANCE.ANALYTICS]: _providers.ProviderAnalytics.ratesResponse,
|
|
21
22
|
[_Core.PERFORMANCE.FACEBOOK]: _providers.ProviderFacebook.ratesResponse,
|
|
22
|
-
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined
|
|
23
|
+
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined,
|
|
24
|
+
[_Core.PERFORMANCE.BING]: undefined
|
|
23
25
|
},
|
|
24
26
|
// -- Add to cart ✅
|
|
25
27
|
[_helpers.EVENT.RATES_ADD_TO_CART]: {
|
|
@@ -31,7 +33,8 @@ const EVENTS = exports.EVENTS = {
|
|
|
31
33
|
[_Core.PERFORMANCE.GTM]: _providers.ProviderGTM.checkoutResponse,
|
|
32
34
|
[_Core.PERFORMANCE.ANALYTICS]: _providers.ProviderAnalytics.checkoutResponse,
|
|
33
35
|
[_Core.PERFORMANCE.FACEBOOK]: _providers.ProviderFacebook.checkoutResponse,
|
|
34
|
-
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined
|
|
36
|
+
[_Core.PERFORMANCE.THE_HOTEL_NETWORK]: undefined,
|
|
37
|
+
[_Core.PERFORMANCE.BING]: undefined
|
|
35
38
|
},
|
|
36
39
|
[_helpers.EVENT.CHECKOUT_FORM]: {
|
|
37
40
|
[_Core.PERFORMANCE.ANALYTICS]: _providers.ProviderAnalytics.checkoutForm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.events.js","names":["_providers","require","_helpers","_Core","EVENTS","exports","COMPONENTS_EVENT","FINDER_READY","PERFORMANCE","GTM","ProviderGTM","finderReady","ANALYTICS","ProviderAnalytics","THE_HOTEL_NETWORK","undefined","RATES_RESPONSE","ratesResponse","FACEBOOK","ProviderFacebook","RATES_ADD_TO_CART","ratesAddToCart","CHECKOUT_RESPONSE","checkoutResponse","CHECKOUT_FORM","checkoutForm","BOOKING_RESPONSE","bookingResponse","GOOGLE_ADS","ProviderGoogleAds","MIRAI","ProviderMirai","
|
|
1
|
+
{"version":3,"file":"PerformanceManager.events.js","names":["_providers","require","_helpers","_Core","EVENTS","exports","COMPONENTS_EVENT","FINDER_READY","PERFORMANCE","GTM","ProviderGTM","finderReady","ANALYTICS","ProviderAnalytics","THE_HOTEL_NETWORK","undefined","BING","RATES_RESPONSE","ratesResponse","FACEBOOK","ProviderFacebook","RATES_ADD_TO_CART","ratesAddToCart","CHECKOUT_RESPONSE","checkoutResponse","CHECKOUT_FORM","checkoutForm","BOOKING_RESPONSE","bookingResponse","GOOGLE_ADS","ProviderGoogleAds","MIRAI","ProviderMirai","ProviderBing","AFFILIRED","ProviderAffilired","BOOKING_CANCEL","bookingCancel","LOGGED","logged","EXTERNAL_TWIN","externalTwin"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.events.js"],"sourcesContent":["import {\n ProviderAffilired,\n ProviderAnalytics,\n ProviderBing,\n ProviderFacebook,\n ProviderGoogleAds,\n ProviderGTM,\n ProviderMirai,\n} from './providers';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\n\nconst EVENTS = {\n // -- Finder ✅\n [COMPONENTS_EVENT.FINDER_READY]: {\n [PERFORMANCE.GTM]: ProviderGTM.finderReady,\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.finderReady,\n [PERFORMANCE.THE_HOTEL_NETWORK]: undefined,\n [PERFORMANCE.BING]: undefined,\n },\n\n // -- <Rates> ✅\n [COMPONENTS_EVENT.RATES_RESPONSE]: {\n [PERFORMANCE.GTM]: ProviderGTM.ratesResponse,\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.ratesResponse,\n [PERFORMANCE.FACEBOOK]: ProviderFacebook.ratesResponse,\n [PERFORMANCE.THE_HOTEL_NETWORK]: undefined,\n [PERFORMANCE.BING]: undefined,\n },\n\n // -- Add to cart ✅\n [COMPONENTS_EVENT.RATES_ADD_TO_CART]: {\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.ratesAddToCart,\n [PERFORMANCE.FACEBOOK]: ProviderFacebook.ratesAddToCart,\n },\n\n // -- <Checkout> ✅\n [COMPONENTS_EVENT.CHECKOUT_RESPONSE]: {\n [PERFORMANCE.GTM]: ProviderGTM.checkoutResponse,\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.checkoutResponse,\n [PERFORMANCE.FACEBOOK]: ProviderFacebook.checkoutResponse,\n [PERFORMANCE.THE_HOTEL_NETWORK]: undefined,\n [PERFORMANCE.BING]: undefined,\n },\n\n [COMPONENTS_EVENT.CHECKOUT_FORM]: {\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.checkoutForm,\n },\n\n // -- <Booking> ☑️\n [COMPONENTS_EVENT.BOOKING_RESPONSE]: {\n [PERFORMANCE.GTM]: ProviderGTM.bookingResponse,\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.bookingResponse,\n [PERFORMANCE.GOOGLE_ADS]: ProviderGoogleAds.bookingResponse,\n [PERFORMANCE.MIRAI]: ProviderMirai.bookingResponse,\n [PERFORMANCE.BING]: ProviderBing.bookingResponse,\n [PERFORMANCE.AFFILIRED]: ProviderAffilired.bookingResponse,\n [PERFORMANCE.FACEBOOK]: ProviderFacebook.bookingResponse,\n [PERFORMANCE.THE_HOTEL_NETWORK]: undefined,\n },\n\n [COMPONENTS_EVENT.BOOKING_CANCEL]: {\n [PERFORMANCE.GTM]: ProviderGTM.bookingCancel,\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.bookingCancel,\n },\n\n // -- Session ✅\n [COMPONENTS_EVENT.LOGGED]: {\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.logged,\n },\n\n // -- External Twin ✅\n [COMPONENTS_EVENT.EXTERNAL_TWIN]: {\n [PERFORMANCE.ANALYTICS]: ProviderAnalytics.externalTwin,\n },\n};\n\nexport { EVENTS };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","SCRIPTS","exports","PERFORMANCE","AFFILIRED","components","init","src","once","ANALYTICS","idAnalytics","arguments","length","undefined","concat","onLoad","window","dataLayer","gtag","push","Date","linker","accept_incoming","BING","_ref","idBing","uetq","UET","ti","q","COMPARE","document","addEventListener","CmprmInit","InitMirai","GOOGLE_ADS","cookiePrefix","idAdwords","loadedComponents","conversion_cookie_prefix","allow_enhanced_conversions","includes","GTM","idGTM","id","dataLayerPush","event","getTime","FACEBOOK","MIRAI","hotel","instanceId","place","hotelId","isHotel","THE_HOTEL_NETWORK","_ref2"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.scripts.js"],"sourcesContent":["import { dataLayerPush } from './helpers';\nimport { PERFORMANCE } from '../../Core.constants';\n\nconst SCRIPTS = {\n [PERFORMANCE.AFFILIRED]: {\n components: ['booking'],\n init: () => ({\n src: 'https://scripts.affilired.com/v2/tracking.php',\n }),\n once: true,\n },\n\n [PERFORMANCE.ANALYTICS]: {\n init: ({ idAnalytics } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=${idAnalytics}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n window.gtag('config', idAnalytics, { linker: { accept_incoming: true } });\n },\n }),\n },\n\n [PERFORMANCE.BING]: {\n init: ({ idBing }) => ({\n src: '//bat.bing.com/bat.js',\n onLoad: () => {\n const uetq = `uetq_${idBing}`;\n // eslint-disable-next-line no-undef\n window[uetq] = new UET({ ti: idBing, q: window[uetq] || [] });\n window[uetq].push('pageLoad');\n },\n }),\n },\n\n [PERFORMANCE.COMPARE]: {\n components: ['rates', 'checkout', 'booking'],\n init: () => ({\n src: 'https://static.hotelmonitor.info/CmprmInit-min.js',\n onLoad: () => {\n document.addEventListener('CmprmInitLoaded', window.CmprmInit.InitMirai, false);\n },\n }),\n once: true,\n },\n\n [PERFORMANCE.GOOGLE_ADS]: {\n init: ({ cookiePrefix, idAdwords, loadedComponents = [] } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=AW-${idAdwords}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('config', `AW-${idAdwords}`, {\n conversion_cookie_prefix: cookiePrefix,\n allow_enhanced_conversions: loadedComponents.includes('booking'),\n });\n },\n }),\n },\n\n [PERFORMANCE.GTM]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ idGTM: id } = {}) => ({\n src: `https://www.googletagmanager.com/gtm.js?id=${id}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n dataLayerPush({ event: 'gtm.js', 'gtm.start': new Date().getTime() });\n },\n }),\n },\n\n [PERFORMANCE.FACEBOOK]: {\n components: ['rates', 'checkout', 'booking'],\n },\n\n [PERFORMANCE.MIRAI]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ hotel: { id } = {}, instanceId, loadedComponents, place: { id: [hotelId] = [], isHotel } = {} } = {}) => ({\n src: `https://metas.mirai.com/connectivity/gtag/b2c?hotelId=${\n isHotel && hotelId && !loadedComponents.includes('finder') ? hotelId : id || instanceId\n }`,\n }),\n once: true,\n },\n\n [PERFORMANCE.THE_HOTEL_NETWORK]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ id = '7' }) => ({\n src: `https://www.thehotelsnetwork.com/js/hotel_price_widget.js?partnership_id=${id}`,\n }),\n },\n};\n\nexport { SCRIPTS };\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,MAAME,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACd,CAACE,iBAAW,CAACC,SAAS,GAAG;IACvBC,UAAU,EAAE,CAAC,SAAS,CAAC;IACvBC,IAAI,EAAEA,CAAA,MAAO;MACXC,GAAG,EAAE;IACP,CAAC,CAAC;IACFC,IAAI,EAAE;EACR,CAAC;EAED,CAACL,iBAAW,CAACM,SAAS,GAAG;IACvBH,IAAI,EAAE,SAAAA,CAAA;MAAA,IAAC;QAAEI;MAAY,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QAC/BJ,GAAG,iDAAAO,MAAA,CAAiDJ,WAAW,CAAE;QACjEK,MAAM,EAAEA,CAAA,KAAM;UACZC,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAI,EAAE;UACzCD,MAAM,CAACE,IAAI,GAAG,YAAY;YACxBF,MAAM,CAACC,SAAS,CAACE,IAAI,CAACR,SAAS,CAAC;UAClC,CAAC;UACDK,MAAM,CAACE,IAAI,CAAC,IAAI,EAAE,IAAIE,IAAI,CAAC,CAAC,CAAC;UAC7BJ,MAAM,CAACE,IAAI,CAAC,QAAQ,EAAER,WAAW,EAAE;YAAEW,MAAM,EAAE;cAAEC,eAAe,EAAE;YAAK;UAAE,CAAC,CAAC;QAC3E;MACF,CAAC;IAAA;EACH,CAAC;EAED,CAACnB,iBAAW,CAACoB,IAAI,GAAG;IAClBjB,IAAI,EAAEkB,IAAA;MAAA,IAAC;QAAEC;MAAO,CAAC,GAAAD,IAAA;MAAA,OAAM;QACrBjB,GAAG,EAAE,uBAAuB;QAC5BQ,MAAM,EAAEA,CAAA,KAAM;UACZ,MAAMW,IAAI,WAAAZ,MAAA,CAAWW,MAAM,CAAE;UAC7B;UACAT,MAAM,CAACU,IAAI,CAAC,GAAG,IAAIC,GAAG,CAAC;YAAEC,EAAE,EAAEH,MAAM;YAAEI,CAAC,EAAEb,MAAM,CAACU,IAAI,CAAC,IAAI;UAAG,CAAC,CAAC;UAC7DV,MAAM,CAACU,IAAI,CAAC,CAACP,IAAI,CAAC,UAAU,CAAC;QAC/B;MACF,CAAC;IAAA;EACH,CAAC;EAED,CAAChB,iBAAW,
|
|
1
|
+
{"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","SCRIPTS","exports","PERFORMANCE","AFFILIRED","components","init","src","once","ANALYTICS","idAnalytics","arguments","length","undefined","concat","onLoad","window","dataLayer","gtag","push","Date","linker","accept_incoming","BING","_ref","idBing","uetq","UET","ti","q","ad_storage","COMPARE","document","addEventListener","CmprmInit","InitMirai","GOOGLE_ADS","cookiePrefix","idAdwords","loadedComponents","conversion_cookie_prefix","allow_enhanced_conversions","includes","GTM","idGTM","id","dataLayerPush","event","getTime","FACEBOOK","MIRAI","hotel","instanceId","place","hotelId","isHotel","THE_HOTEL_NETWORK","_ref2"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.scripts.js"],"sourcesContent":["import { dataLayerPush } from './helpers';\nimport { PERFORMANCE } from '../../Core.constants';\n\nconst SCRIPTS = {\n [PERFORMANCE.AFFILIRED]: {\n components: ['booking'],\n init: () => ({\n src: 'https://scripts.affilired.com/v2/tracking.php',\n }),\n once: true,\n },\n\n [PERFORMANCE.ANALYTICS]: {\n init: ({ idAnalytics } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=${idAnalytics}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n window.gtag('config', idAnalytics, { linker: { accept_incoming: true } });\n },\n }),\n },\n\n [PERFORMANCE.BING]: {\n init: ({ idBing }) => ({\n src: '//bat.bing.com/bat.js',\n onLoad: () => {\n const uetq = `uetq_${idBing}`;\n // eslint-disable-next-line no-undef\n window[uetq] = new UET({ ti: idBing, q: window[uetq] || [] });\n window[uetq].push('consent', 'update', { ad_storage: 'granted' });\n window[uetq].push('pageLoad');\n },\n }),\n },\n\n [PERFORMANCE.COMPARE]: {\n components: ['rates', 'checkout', 'booking'],\n init: () => ({\n src: 'https://static.hotelmonitor.info/CmprmInit-min.js',\n onLoad: () => {\n document.addEventListener('CmprmInitLoaded', window.CmprmInit.InitMirai, false);\n },\n }),\n once: true,\n },\n\n [PERFORMANCE.GOOGLE_ADS]: {\n init: ({ cookiePrefix, idAdwords, loadedComponents = [] } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=AW-${idAdwords}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('config', `AW-${idAdwords}`, {\n conversion_cookie_prefix: cookiePrefix,\n allow_enhanced_conversions: loadedComponents.includes('booking'),\n });\n },\n }),\n },\n\n [PERFORMANCE.GTM]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ idGTM: id } = {}) => ({\n src: `https://www.googletagmanager.com/gtm.js?id=${id}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n dataLayerPush({ event: 'gtm.js', 'gtm.start': new Date().getTime() });\n },\n }),\n },\n\n [PERFORMANCE.FACEBOOK]: {\n components: ['rates', 'checkout', 'booking'],\n },\n\n [PERFORMANCE.MIRAI]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ hotel: { id } = {}, instanceId, loadedComponents, place: { id: [hotelId] = [], isHotel } = {} } = {}) => ({\n src: `https://metas.mirai.com/connectivity/gtag/b2c?hotelId=${\n isHotel && hotelId && !loadedComponents.includes('finder') ? hotelId : id || instanceId\n }`,\n }),\n once: true,\n },\n\n [PERFORMANCE.THE_HOTEL_NETWORK]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ id = '7' }) => ({\n src: `https://www.thehotelsnetwork.com/js/hotel_price_widget.js?partnership_id=${id}`,\n }),\n },\n};\n\nexport { SCRIPTS };\n"],"mappings":"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"}
|