@mirai/core 0.4.1 → 0.4.3
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 +10 -2
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.scripts.js +2 -0
- package/build/contexts/PerformanceManager/PerformanceManager.scripts.js.map +1 -1
- package/package.json +1 -1
|
@@ -110,7 +110,8 @@ const CardHotel = function () {
|
|
|
110
110
|
id: [placeId] = [],
|
|
111
111
|
isHotel,
|
|
112
112
|
title: placeName
|
|
113
|
-
} = {}
|
|
113
|
+
} = {},
|
|
114
|
+
promocode
|
|
114
115
|
} = finder || {};
|
|
115
116
|
const {
|
|
116
117
|
name: hotelName
|
|
@@ -131,7 +132,14 @@ const CardHotel = function () {
|
|
|
131
132
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
132
133
|
row: true,
|
|
133
134
|
className: style.tags
|
|
134
|
-
},
|
|
135
|
+
}, promocode && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
136
|
+
bold: true,
|
|
137
|
+
small: true,
|
|
138
|
+
className: style.tag
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
140
|
+
action: true,
|
|
141
|
+
value: _helpers3.ICON.DISCOUNT
|
|
142
|
+
}), promocode.toUpperCase()), hasDiscountClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
135
143
|
bold: true,
|
|
136
144
|
small: true,
|
|
137
145
|
className: style.tag
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_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","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","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","small","placeId","title","placeName","hotelName","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","Text","bold","tag","L10N","LABEL_CLUB_MEMBERS","offset","spaceBetween","Icon","ICON","LOCATION","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","onPress","ACTION_VIEW_HOTEL","summary","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","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 { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\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: !isMobile, small: isMobile };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\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\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\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={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n small={isMobile}\n target=\"_blank\"\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 row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\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 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","_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","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","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","small","placeId","title","placeName","promocode","hotelName","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","Text","bold","tag","Icon","ICON","DISCOUNT","toUpperCase","L10N","LABEL_CLUB_MEMBERS","offset","spaceBetween","LOCATION","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","onPress","ACTION_VIEW_HOTEL","summary","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","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 { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\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: !isMobile, small: isMobile };\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\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\n <View row className={style.tags}>\n {promocode && (\n <Text bold small className={style.tag}>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\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={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n small={isMobile}\n target=\"_blank\"\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 row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\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 stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ const SCRIPTS = exports.SCRIPTS = {
|
|
|
23
23
|
return {
|
|
24
24
|
src: "https://www.googletagmanager.com/gtag/js?id=".concat(idAnalytics),
|
|
25
25
|
onLoad: () => {
|
|
26
|
+
window.dataLayer = window.dataLayer || [];
|
|
26
27
|
window.gtag = function () {
|
|
27
28
|
window.dataLayer.push(arguments);
|
|
28
29
|
};
|
|
@@ -76,6 +77,7 @@ const SCRIPTS = exports.SCRIPTS = {
|
|
|
76
77
|
return {
|
|
77
78
|
src: "https://www.googletagmanager.com/gtag/js?id=".concat(idAdwords),
|
|
78
79
|
onLoad: () => {
|
|
80
|
+
window.dataLayer = window.dataLayer || [];
|
|
79
81
|
window.gtag = function () {
|
|
80
82
|
window.dataLayer.push(arguments);
|
|
81
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","_helpers2","SCRIPTS","exports","PERFORMANCE","AFFILIRED","components","init","src","once","ANALYTICS","idAnalytics","arguments","length","undefined","concat","onLoad","window","
|
|
1
|
+
{"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","_helpers2","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","Mirai","urlParameters","fetchUrlParams","location","search","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","THE_HOTEL_NETWORK","_ref2"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.scripts.js"],"sourcesContent":["import { dataLayerPush } from './helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\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 components: ['booking'],\n init: ({ idBing }) => ({\n src: '//bat.bing.com/bat.js',\n onLoad: () => {\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'],\n init: () => ({\n src: 'https://static.hotelmonitor.info/CmprmInit-min.js',\n onLoad: () => {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\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=${idAdwords}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('config', `AD-${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 } = {} } = {}) => ({\n src: `https://metas.mirai.com/connectivity/gtag/b2c?hotelId=${id}`,\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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"}
|