@mirai/core 0.4.315 → 0.4.317

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.
@@ -31,8 +31,7 @@ const FEATURES = exports.FEATURES = {
31
31
  SHOW_OFFERS_FIRST: 'showOffersFirst',
32
32
  SHOW_PRICE_INCREMENTS: 'showPriceIncrements',
33
33
  SHOW_PRICE_PER_NIGHT: 'showPricePerNight',
34
- SHOW_RATE_INCLUDED: 'showRateIncluded',
35
- TWIN: 'twin'
34
+ SHOW_RATE_INCLUDED: 'showRateIncluded'
36
35
  };
37
36
  const FREE_CANCELLATION = exports.FREE_CANCELLATION = 'free';
38
37
  const MAX_FOOTER_ITEMS = exports.MAX_FOOTER_ITEMS = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","MAX_FOOTER_ITEMS","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_FOOTER_ITEMS = 3;\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_FOOTER_ITEMS,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,gBAAgB,GAAA3B,OAAA,CAAA2B,gBAAA,GAAG,CAAC;AAE1B,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA/B,OAAA,CAAA+B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAnC,OAAA,CAAAmC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
1
+ {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","FREE_CANCELLATION","MAX_FOOTER_ITEMS","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_FOOTER_ITEMS = 3;\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_FOOTER_ITEMS,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE;AACtB,CAAC;AAED,MAAMC,iBAAiB,GAAAzB,OAAA,CAAAyB,iBAAA,GAAG,MAAM;AAEhC,MAAMC,gBAAgB,GAAA1B,OAAA,CAAA0B,gBAAA,GAAG,CAAC;AAE1B,MAAMC,aAAa,GAAA3B,OAAA,CAAA2B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA9B,OAAA,CAAA8B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAlC,OAAA,CAAAkC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Preview = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
9
  var _ui = require("@mirai/ui");
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireWildcard(require("react"));
@@ -14,7 +13,6 @@ var _components = require("./components");
14
13
  var _Item = require("./Item.l10n");
15
14
  var style = _interopRequireWildcard(require("./Item.module.css"));
16
15
  var _helpers = require("../../../helpers");
17
- var _Rates = require("../../Rates.constants");
18
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -56,14 +54,16 @@ const Preview = _ref => {
56
54
  value: {
57
55
  finder: {
58
56
  place: {
59
- id: [hotelId] = [],
57
+ id: [placeId] = [],
60
58
  isHotel
61
59
  } = {}
62
60
  } = {},
63
61
  hotel: {
64
- warningAvailability = 9999,
65
- ...hotel
66
- } = {}
62
+ features: hotelFeatures = {},
63
+ id: hotelId,
64
+ warningAvailability = 9999
65
+ } = {},
66
+ id: instanceId
67
67
  } = {}
68
68
  } = (0, _dataSources.useStore)();
69
69
  (0, _react.useEffect)(() => {
@@ -88,7 +88,9 @@ const Preview = _ref => {
88
88
  });
89
89
  onTwin(id);
90
90
  };
91
- const hasTwin = id && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
91
+ const {
92
+ showMiraiTwin
93
+ } = (placeId ? isHotel ? hotelFeatures[placeId] : hotelFeatures[instanceId] : hotelFeatures[hotelId]) || {};
92
94
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
93
95
  ref: ref,
94
96
  className: (0, _ui.styles)(style.preview, !showActions && style.withRadius)
@@ -126,7 +128,7 @@ const Preview = _ref => {
126
128
  bold: true,
127
129
  brand: true,
128
130
  headline: true
129
- }, title), hasTwin && showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
131
+ }, title), id && showMiraiTwin && showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
130
132
  onPress: handleTwin
131
133
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
132
134
  bold: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","id","isSoldOut","media","name","title","showActions","width","propWidth","onMoreInfo","onTwin","onViewUrl","others","height","isMobile","isPortrait","isTablet","useDevice","translate","useLocale","ref","useRef","value","finder","place","hotelId","isHotel","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","handleTwin","EXTERNAL_TWIN","event","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","styles","preview","withRadius","Slider","map","_ref2","large","undefined","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","small","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","Action","onPress","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Text, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n id,\n isSoldOut = false,\n media,\n name: title,\n showActions = true,\n width: propWidth,\n onMoreInfo,\n onTwin = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {} } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const handleTwin = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:ITEM:TWIN' });\n Event.publish(EVENT.EXTERNAL_TWIN, { event: EVENT.EXTERNAL_TWIN });\n onTwin(id);\n };\n\n const hasTwin = id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={styles(style.preview, !showActions && style.withRadius)}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={showActions ? media : undefined}\n title={title}\n width={propWidth || memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline>\n {title}\n </Text>\n\n {hasTwin && showActions && (\n <Action onPress={handleTwin}>\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n {showActions && (\n <View row>\n <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n showActions: PropTypes.bool,\n width: PropTypes.number,\n onMoreInfo: PropTypes.func,\n onTwin: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","id","isSoldOut","media","name","title","showActions","width","propWidth","onMoreInfo","onTwin","onViewUrl","others","height","isMobile","isPortrait","isTablet","useDevice","translate","useLocale","ref","useRef","value","finder","place","placeId","isHotel","hotel","hotelFeatures","hotelId","warningAvailability","instanceId","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","handleTwin","EXTERNAL_TWIN","event","showMiraiTwin","createElement","View","className","styles","preview","withRadius","Slider","map","_ref2","large","undefined","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","small","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","Action","onPress","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Text, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n id,\n isSoldOut = false,\n media,\n name: title,\n showActions = true,\n width: propWidth,\n onMoreInfo,\n onTwin = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [placeId] = [], isHotel } = {} } = {},\n hotel: { features: hotelFeatures = {}, id: hotelId, warningAvailability = 9999 } = {},\n id: instanceId,\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const handleTwin = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:ITEM:TWIN' });\n Event.publish(EVENT.EXTERNAL_TWIN, { event: EVENT.EXTERNAL_TWIN });\n onTwin(id);\n };\n\n const { showMiraiTwin } =\n (placeId ? (isHotel ? hotelFeatures[placeId] : hotelFeatures[instanceId]) : hotelFeatures[hotelId]) || {};\n\n return (\n <View ref={ref} className={styles(style.preview, !showActions && style.withRadius)}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={showActions ? media : undefined}\n title={title}\n width={propWidth || memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline>\n {title}\n </Text>\n\n {id && showMiraiTwin && showActions && (\n <Action onPress={handleTwin}>\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n {showActions && (\n <View row>\n <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n showActions: PropTypes.bool,\n width: PropTypes.number,\n onMoreInfo: PropTypes.func,\n onTwin: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAAyC,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEzC,MAAMK,UAAU,GAAG,CAAC;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,IAAIC,aAAa,GAAG,GAAG;AAEvB,MAAMC,OAAO,GAAGC,IAAA,IAcV;EAAA,IAdW;IACfC,YAAY,GAAG,CAAC;IAChBC,QAAQ,EAAE;MAAEC,UAAU,GAAG,KAAK;MAAE,GAAGD;IAAS,CAAC,GAAG,CAAC,CAAC;IAClDE,MAAM,GAAG,EAAE;IACXC,EAAE;IACFC,SAAS,GAAG,KAAK;IACjBC,KAAK;IACLC,IAAI,EAAEC,KAAK;IACXC,WAAW,GAAG,IAAI;IAClBC,KAAK,EAAEC,SAAS;IAChBC,UAAU;IACVC,MAAM,GAAGA,CAAA,KAAM,CAAC,CAAC;IACjBC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IACpB,GAAGC;EACL,CAAC,GAAAhB,IAAA;EACC,MAAM;IAAEiB,MAAM;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAET;EAAM,CAAC,GAAG,IAAAU,aAAS,EAAC,CAAC;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEvB,EAAE,EAAE,CAACwB,OAAO,CAAC,GAAG,EAAE;UAAEC;QAAQ,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAC5DC,KAAK,EAAE;QAAE7B,QAAQ,EAAE8B,aAAa,GAAG,CAAC,CAAC;QAAE3B,EAAE,EAAE4B,OAAO;QAAEC,mBAAmB,GAAG;MAAK,CAAC,GAAG,CAAC,CAAC;MACrF7B,EAAE,EAAE8B;IACN,CAAC,GAAG,CAAC;EACP,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC;IAAY,CAAC,GAAGd,GAAG,CAACe,OAAO,IAAI,CAAC,CAAC;IACzC,IAAID,WAAW,IAAI,CAAC1B,SAAS,EAAEd,aAAa,GAAGwC,WAAW,IAAIlB,QAAQ,GAAGxB,UAAU,GAAGC,cAAc,CAAC;IACrG;EACF,CAAC,EAAE,CAACuB,QAAQ,EAAET,KAAK,CAAC,CAAC;EAErB,MAAM6B,mBAAmB,GAAGA,CAAA,KAAM;IAChC3B,UAAU,IAAIA,UAAU,CAAC,CAAC;IAC1B4B,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEvC,EAAE,EAAE;IAA4B,CAAC,CAAC;EACnE,CAAC;EAED,MAAMwC,UAAU,GAAGA,CAAA,KAAM;IACvBJ,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEvC,EAAE,EAAE;IAAuB,CAAC,CAAC;IAC5DoC,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACG,aAAa,EAAE;MAAEC,KAAK,EAAEJ,cAAK,CAACG;IAAc,CAAC,CAAC;IAClEhC,MAAM,CAACT,EAAE,CAAC;EACZ,CAAC;EAED,MAAM;IAAE2C;EAAc,CAAC,GACrB,CAACnB,OAAO,GAAIC,OAAO,GAAGE,aAAa,CAACH,OAAO,CAAC,GAAGG,aAAa,CAACG,UAAU,CAAC,GAAIH,aAAa,CAACC,OAAO,CAAC,KAAK,CAAC,CAAC;EAE3G,oBACE1E,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAAC1B,GAAG,EAAEA,GAAI;IAAC2B,SAAS,EAAE,IAAAC,UAAM,EAACzF,KAAK,CAAC0F,OAAO,EAAE,CAAC3C,WAAW,IAAI/C,KAAK,CAAC2F,UAAU;EAAE,gBACjF/F,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAACxF,WAAA,CAAA8F,MAAM;IACLtC,MAAM,EAAEd,UAAU,GAAGc,MAAM,IAAIE,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI;IACzDf,MAAM,EAAEA,MAAM,CAACoD,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC;MAAM,CAAC,GAAAD,KAAA;MAAA,OAAKC,KAAK;IAAA,EAAE;IACzCnD,KAAK,EAAEG,WAAW,GAAGH,KAAK,GAAGoD,SAAU;IACvClD,KAAK,EAAEA,KAAM;IACbE,KAAK,EAAEC,SAAS,IAAId,aAAc;IAClC8D,SAAS,EAAE,CAAC1C,QAAQ,GAAGsB,mBAAmB,GAAGmB,SAAU;IACvD5C,SAAS,EAAEA,SAAU;IACrBoC,SAAS,EAAExF,KAAK,CAACkG;EAAO,CACzB,CAAC,eAEFtG,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACY,GAAG;IAACX,SAAS,EAAE,CAACxF,KAAK,CAACoG,MAAM,EAAEpG,KAAK,CAACqG,YAAY,EAAErG,KAAK,CAACsG,OAAO;EAAE,gBACrE1G,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAACxF,WAAA,CAAAyG,QAAQ,EAAA/E,QAAA;IAAOe;EAAQ,GAAKc,MAAM,CAAK,CAAC,EAExCV,SAAS,KAAK,KAAK,IAAIL,YAAY,IAAIiC,mBAAmB,iBACzD3E,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA+G,IAAI;IAACC,IAAI;IAACC,KAAK;IAACC,KAAK;EAAA,GACnBhD,SAAS,CAACiD,UAAI,CAACC,qBAAqB,EAAE;IAAEC,MAAM,EAAExE;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEP1C,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACC,SAAS,EAAE,CAACxF,KAAK,CAACoG,MAAM,EAAEpG,KAAK,CAAC+G,GAAG,CAAE;IAAC/G,KAAK,EAAE;MAAEgH,IAAI,EAAE;IAAE;EAAE,gBAC7DpH,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA+G,IAAI;IAACC,IAAI;IAACQ,KAAK;IAACC,QAAQ;EAAA,GACtBpE,KACG,CAAC,EAENJ,EAAE,IAAI2C,aAAa,IAAItC,WAAW,iBACjCnD,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA0H,MAAM;IAACC,OAAO,EAAElC;EAAW,gBAC1BtF,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA+G,IAAI;IAACC,IAAI;IAACE,KAAK;IAACnB,SAAS,EAAExF,KAAK,CAACqH;EAAM,GAAC,IAEnC,CAAC,EACN1D,SAAS,CAACiD,UAAI,CAACU,gBAAgB,CAC1B,CACT,eAED1H,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAACxF,WAAA,CAAAyH,SAAS,EAAA/F,QAAA;IAACgG,SAAS;IAAC9B,OAAO;EAAA,GAAKrC,MAAM,CAAG,CAAC,EAE1CN,WAAW,iBACVnD,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACY,GAAG;EAAA,gBACPvG,MAAA,CAAAY,OAAA,CAAA8E,aAAA,CAAC7F,GAAA,CAAA0H,MAAM;IAACC,OAAO,EAAElE;EAAW,GAAES,SAAS,CAACiD,UAAI,CAACa,gBAAgB,CAAU,CACnE,CAEJ,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAtF,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACuF,WAAW,GAAG,+BAA+B;AAErDvF,OAAO,CAACwF,SAAS,GAAG;EAClBtF,YAAY,EAAEuF,kBAAS,CAACC,MAAM;EAC9BvF,QAAQ,EAAEsF,kBAAS,CAACE,KAAK,CAAC;IACxBvF,UAAU,EAAEqF,kBAAS,CAACG;EACxB,CAAC,CAAC;EACFvF,MAAM,EAAEoF,kBAAS,CAACI,OAAO,CACvBJ,kBAAS,CAACE,KAAK,CAAC;IACdG,GAAG,EAAEL,kBAAS,CAACM,MAAM;IACrBpC,KAAK,EAAE8B,kBAAS,CAACM,MAAM;IACvBC,SAAS,EAAEP,kBAAS,CAACM;EACvB,CAAC,CACH,CAAC;EACDzF,EAAE,EAAEmF,kBAAS,CAACC,MAAM;EACpBnF,SAAS,EAAEkF,kBAAS,CAACG,IAAI;EACzBpF,KAAK,EAAEiF,kBAAS,CAACE,KAAK,CAAC;IACrBM,KAAK,EAAER,kBAAS,CAACM,MAAM;IACvBG,QAAQ,EAAET,kBAAS,CAACM;EACtB,CAAC,CAAC;EACFtF,IAAI,EAAEgF,kBAAS,CAACM,MAAM;EACtBpF,WAAW,EAAE8E,kBAAS,CAACG,IAAI;EAC3BhF,KAAK,EAAE6E,kBAAS,CAACC,MAAM;EACvB5E,UAAU,EAAE2E,kBAAS,CAACU,IAAI;EAC1BpF,MAAM,EAAE0E,kBAAS,CAACU,IAAI;EACtBnF,SAAS,EAAEyE,kBAAS,CAACU;AACvB,CAAC"}
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Footer = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
9
  var _ui = require("@mirai/ui");
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
- var _Footer = require("./Footer.constants");
14
- var _Footer2 = require("./Footer.l10n");
12
+ var _Footer = require("./Footer.l10n");
15
13
  var style = _interopRequireWildcard(require("./Footer.module.css"));
16
14
  var _helpers = require("../../helpers");
17
15
  var _Skeleton = require("../Skeleton");
@@ -113,9 +111,9 @@ const Footer = _ref => {
113
111
  }) : /*#__PURE__*/_react.default.createElement(_ui.Text, {
114
112
  light: true,
115
113
  small: true
116
- }, translate(_Footer2.L10N.LABEL_ALL_RIGHTS_RESERVED)), privacy && /*#__PURE__*/_react.default.createElement(_ui.Action, _extends({
114
+ }, translate(_Footer.L10N.LABEL_ALL_RIGHTS_RESERVED)), privacy && /*#__PURE__*/_react.default.createElement(_ui.Action, _extends({
117
115
  href: privacy
118
- }, linkProps), translate(_Footer2.L10N.ACTION_PRIVACY_POLICY))), !_services.ServiceFeatures.get(_Footer.FEATURE_HIDE_POWERED_BY_MIRAI, id) && /*#__PURE__*/_react.default.createElement(_ui.Action, {
116
+ }, linkProps), translate(_Footer.L10N.ACTION_PRIVACY_POLICY))), !features.hidePoweredByMirai && /*#__PURE__*/_react.default.createElement(_ui.Action, {
119
117
  href: "https://www.mirai.com/",
120
118
  small: true,
121
119
  target: "_blank",
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Footer","_Footer2","style","_helpers","_Skeleton","_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","Footer","_ref","logo","showLogo","others","isMobile","useDevice","translate","useLocale","value","club","url","privacy","storePrivacy","finder","place","id","placeId","isHotel","title","placeName","hotel","features","instanceId","language","skeleton","useStore","paddingBottom","setPaddingBottom","useState","useEffect","handleHeightChange","height","undefined","Event","subscribe","EVENT","FOOTER_HEIGHT_CHANGE","unsubscribe","handleUrl","window","location","name","linkProps","small","underline","className","link","createElement","View","row","container","content","info","Pressable","onPress","tag","src","Text","light","copyright","Date","getFullYear","Action","href","Skeleton","words","L10N","LABEL_ALL_RIGHTS_RESERVED","ACTION_PRIVACY_POLICY","ServiceFeatures","FEATURE_HIDE_POWERED_BY_MIRAI","powered","bold","mirai","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../../src/components/__shared__/Footer/Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FEATURE_HIDE_POWERED_BY_MIRAI } from './Footer.constants';\nimport { L10N } from './Footer.l10n';\nimport * as style from './Footer.module.css';\nimport { EVENT } from '../../helpers';\nimport { Skeleton } from '../Skeleton';\n\nconst Footer = ({ logo: showLogo = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { url: { privacy: storePrivacy = {} } = {} } = {},\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, id, url } = {},\n id: instanceId,\n language,\n skeleton = false,\n } = {},\n } = useStore();\n\n const [paddingBottom, setPaddingBottom] = useState();\n\n useEffect(() => {\n const handleHeightChange = ({ height } = {}) => setPaddingBottom(height);\n\n Event.subscribe(EVENT.FOOTER_HEIGHT_CHANGE, handleHeightChange);\n\n return () => Event.unsubscribe(EVENT.FOOTER_HEIGHT_CHANGE, handleHeightChange);\n }, []);\n\n const handleUrl = () => {\n window.location = url;\n };\n\n const { logo, name } =\n (placeId ? (isHotel ? features[placeId] : { name: placeName, ...features[instanceId] }) : features[id]) || {};\n const linkProps = { target: '_blank', small: true, underline: true, className: style.link };\n const privacy = storePrivacy[language];\n\n return (\n <View\n row={!isMobile}\n {...others}\n className={[style.container, others.className]}\n style={paddingBottom ? { paddingBottom } : undefined}\n >\n <View row={!isMobile} className={style.content}>\n <View row={!isMobile} className={style.info}>\n {showLogo && logo && !isMobile && (\n <Pressable onPress={url ? handleUrl : undefined}>\n <View tag=\"img\" src={logo} className={style.logo} />\n </Pressable>\n )}\n\n <Text light small className={style.copyright}>\n © {new Date().getFullYear()}\n <Action href={url} {...linkProps}>\n {name}\n </Action>\n .\n </Text>\n\n {skeleton ? (\n <Skeleton small words={5} />\n ) : (\n <Text light small>\n {translate(L10N.LABEL_ALL_RIGHTS_RESERVED)}\n </Text>\n )}\n\n {privacy && (\n <Action href={privacy} {...linkProps}>\n {translate(L10N.ACTION_PRIVACY_POLICY)}\n </Action>\n )}\n </View>\n\n {!ServiceFeatures.get(FEATURE_HIDE_POWERED_BY_MIRAI, id) && (\n <Action href=\"https://www.mirai.com/\" small target=\"_blank\" className={style.powered}>\n Powered by{' '}\n <Text bold light className={style.mirai}>\n mirai\n </Text>\n </Action>\n )}\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Footer';\n\nFooter.propTypes = {\n logo: PropTypes.bool,\n};\n\nexport { Footer };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Footer","style","_helpers","_Skeleton","_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","Footer","_ref","logo","showLogo","others","isMobile","useDevice","translate","useLocale","value","club","url","privacy","storePrivacy","finder","place","id","placeId","isHotel","title","placeName","hotel","features","instanceId","language","skeleton","useStore","paddingBottom","setPaddingBottom","useState","useEffect","handleHeightChange","height","undefined","Event","subscribe","EVENT","FOOTER_HEIGHT_CHANGE","unsubscribe","handleUrl","window","location","name","linkProps","small","underline","className","link","createElement","View","row","container","content","info","Pressable","onPress","tag","src","Text","light","copyright","Date","getFullYear","Action","href","Skeleton","words","L10N","LABEL_ALL_RIGHTS_RESERVED","ACTION_PRIVACY_POLICY","hidePoweredByMirai","powered","bold","mirai","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../../src/components/__shared__/Footer/Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Footer.l10n';\nimport * as style from './Footer.module.css';\nimport { EVENT } from '../../helpers';\nimport { Skeleton } from '../Skeleton';\n\nconst Footer = ({ logo: showLogo = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { url: { privacy: storePrivacy = {} } = {} } = {},\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, id, url } = {},\n id: instanceId,\n language,\n skeleton = false,\n } = {},\n } = useStore();\n\n const [paddingBottom, setPaddingBottom] = useState();\n\n useEffect(() => {\n const handleHeightChange = ({ height } = {}) => setPaddingBottom(height);\n\n Event.subscribe(EVENT.FOOTER_HEIGHT_CHANGE, handleHeightChange);\n\n return () => Event.unsubscribe(EVENT.FOOTER_HEIGHT_CHANGE, handleHeightChange);\n }, []);\n\n const handleUrl = () => {\n window.location = url;\n };\n\n const { logo, name } =\n (placeId ? (isHotel ? features[placeId] : { name: placeName, ...features[instanceId] }) : features[id]) || {};\n const linkProps = { target: '_blank', small: true, underline: true, className: style.link };\n const privacy = storePrivacy[language];\n\n return (\n <View\n row={!isMobile}\n {...others}\n className={[style.container, others.className]}\n style={paddingBottom ? { paddingBottom } : undefined}\n >\n <View row={!isMobile} className={style.content}>\n <View row={!isMobile} className={style.info}>\n {showLogo && logo && !isMobile && (\n <Pressable onPress={url ? handleUrl : undefined}>\n <View tag=\"img\" src={logo} className={style.logo} />\n </Pressable>\n )}\n\n <Text light small className={style.copyright}>\n © {new Date().getFullYear()}\n <Action href={url} {...linkProps}>\n {name}\n </Action>\n .\n </Text>\n\n {skeleton ? (\n <Skeleton small words={5} />\n ) : (\n <Text light small>\n {translate(L10N.LABEL_ALL_RIGHTS_RESERVED)}\n </Text>\n )}\n\n {privacy && (\n <Action href={privacy} {...linkProps}>\n {translate(L10N.ACTION_PRIVACY_POLICY)}\n </Action>\n )}\n </View>\n\n {!features.hidePoweredByMirai && (\n <Action href=\"https://www.mirai.com/\" small target=\"_blank\" className={style.powered}>\n Powered by{' '}\n <Text bold light className={style.mirai}>\n mirai\n </Text>\n </Action>\n )}\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Footer';\n\nFooter.propTypes = {\n logo: PropTypes.bool,\n};\n\nexport { Footer };\n"],"mappings":"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"}
@@ -167,7 +167,7 @@ const PerformanceManager = () => {
167
167
  } else if (!memoizedPendingEvents.some(item => item.event === event && item.provider === provider)) {
168
168
  memoizedPendingEvents.push(props);
169
169
  }
170
- } else executeEvent(props);
170
+ } else executeEvent(props, currentConsentMode);
171
171
  });
172
172
  };
173
173
  Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.subscribe(event, handleEvent));
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","storePerformance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","setPerformance","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","config","isHotel","_getPerformance","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","loadScripts","then","find","_ref6","response","label","concat","getPerformanceLabel","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(\n getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","storePerformance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","setPerformance","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","config","isHotel","_getPerformance","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","loadScripts","then","find","_ref6","response","label","concat","getPerformanceLabel","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(\n getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
@@ -221,7 +221,7 @@ const consolidateStore = async function () {
221
221
  return {
222
222
  config,
223
223
  cookies,
224
- cookieBanner: false,
224
+ cookieBanner: config.cookieBanner,
225
225
  urlParams,
226
226
  ...instance,
227
227
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n cookieBanner: false,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant:\n IS_JEST && !window.IS_PLAYWRIGHT\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n cookieBanner: config.cookieBanner,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant:\n IS_JEST && !window.IS_PLAYWRIGHT\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
@@ -7,9 +7,10 @@ exports.fetchCurrency = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _services = require("@mirai/services");
9
9
  const fetchCurrency = async id => {
10
- var _await$ServiceHotel$g;
10
+ var _window$navigator$lan, _await$ServiceHotel$g;
11
+ const [, navigatorCountry] = ((_window$navigator$lan = window.navigator.language) === null || _window$navigator$lan === void 0 ? void 0 : _window$navigator$lan.split('-')) || [];
11
12
  const {
12
- country
13
+ country = navigatorCountry
13
14
  } = (await (0, _dataSources.request)({
14
15
  hostname: process.env.SERVICE_CURRENCY,
15
16
  endpoint: '/ip/get',
@@ -17,7 +18,7 @@ const fetchCurrency = async id => {
17
18
  'X-Requested-With': undefined,
18
19
  Authorization: 'Basic YW5vbmltb3VzOmFub25pbW91cw=='
19
20
  }
20
- })) || {};
21
+ }).catch(() => {})) || {};
21
22
  return country ? (_await$ServiceHotel$g = await _services.ServiceHotel.getCurrencies(id).catch(() => ({}))) === null || _await$ServiceHotel$g === void 0 ? void 0 : _await$ServiceHotel$g[country] : undefined;
22
23
  };
23
24
  exports.fetchCurrency = fetchCurrency;
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCurrency.js","names":["_dataSources","require","_services","fetchCurrency","id","_await$ServiceHotel$g","country","request","hostname","process","env","SERVICE_CURRENCY","endpoint","headers","undefined","Authorization","ServiceHotel","getCurrencies","catch","exports"],"sources":["../../src/helpers/fetchCurrency.js"],"sourcesContent":["import { request } from '@mirai/data-sources';\nimport { ServiceHotel } from '@mirai/services';\n\nexport const fetchCurrency = async (id) => {\n const { country } =\n (await request({\n hostname: process.env.SERVICE_CURRENCY,\n endpoint: '/ip/get',\n headers: { 'X-Requested-With': undefined, Authorization: 'Basic YW5vbmltb3VzOmFub25pbW91cw==' },\n })) || {};\n\n return country ? (await ServiceHotel.getCurrencies(id).catch(() => ({})))?.[country] : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEO,MAAME,aAAa,GAAG,MAAOC,EAAE,IAAK;EAAA,IAAAC,qBAAA;EACzC,MAAM;IAAEC;EAAQ,CAAC,GACf,CAAC,MAAM,IAAAC,oBAAO,EAAC;IACbC,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,gBAAgB;IACtCC,QAAQ,EAAE,SAAS;IACnBC,OAAO,EAAE;MAAE,kBAAkB,EAAEC,SAAS;MAAEC,aAAa,EAAE;IAAqC;EAChG,CAAC,CAAC,KAAK,CAAC,CAAC;EAEX,OAAOT,OAAO,IAAAD,qBAAA,GAAI,MAAMW,sBAAY,CAACC,aAAa,CAACb,EAAE,CAAC,CAACc,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAAb,qBAAA,uBAAvDA,qBAAA,CAA2DC,OAAO,CAAC,GAAGQ,SAAS;AAClG,CAAC;AAACK,OAAA,CAAAhB,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"fetchCurrency.js","names":["_dataSources","require","_services","fetchCurrency","id","_window$navigator$lan","_await$ServiceHotel$g","navigatorCountry","window","navigator","language","split","country","request","hostname","process","env","SERVICE_CURRENCY","endpoint","headers","undefined","Authorization","catch","ServiceHotel","getCurrencies","exports"],"sources":["../../src/helpers/fetchCurrency.js"],"sourcesContent":["import { request } from '@mirai/data-sources';\nimport { ServiceHotel } from '@mirai/services';\n\nexport const fetchCurrency = async (id) => {\n const [, navigatorCountry] = window.navigator.language?.split('-') || [];\n const { country = navigatorCountry } =\n (await request({\n hostname: process.env.SERVICE_CURRENCY,\n endpoint: '/ip/get',\n headers: { 'X-Requested-With': undefined, Authorization: 'Basic YW5vbmltb3VzOmFub25pbW91cw==' },\n }).catch(() => {})) || {};\n\n return country ? (await ServiceHotel.getCurrencies(id).catch(() => ({})))?.[country] : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEO,MAAME,aAAa,GAAG,MAAOC,EAAE,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACzC,MAAM,GAAGC,gBAAgB,CAAC,GAAG,EAAAF,qBAAA,GAAAG,MAAM,CAACC,SAAS,CAACC,QAAQ,cAAAL,qBAAA,uBAAzBA,qBAAA,CAA2BM,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE;EACxE,MAAM;IAAEC,OAAO,GAAGL;EAAiB,CAAC,GAClC,CAAC,MAAM,IAAAM,oBAAO,EAAC;IACbC,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,gBAAgB;IACtCC,QAAQ,EAAE,SAAS;IACnBC,OAAO,EAAE;MAAE,kBAAkB,EAAEC,SAAS;MAAEC,aAAa,EAAE;IAAqC;EAChG,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;EAE3B,OAAOV,OAAO,IAAAN,qBAAA,GAAI,MAAMiB,sBAAY,CAACC,aAAa,CAACpB,EAAE,CAAC,CAACkB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAAhB,qBAAA,uBAAvDA,qBAAA,CAA2DM,OAAO,CAAC,GAAGQ,SAAS;AAClG,CAAC;AAACK,OAAA,CAAAtB,aAAA,GAAAA,aAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.315",
3
+ "version": "0.4.317",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FEATURE_HIDE_POWERED_BY_MIRAI = void 0;
7
- const FEATURE_HIDE_POWERED_BY_MIRAI = exports.FEATURE_HIDE_POWERED_BY_MIRAI = 'hidePoweredByMirai';
8
- //# sourceMappingURL=Footer.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.constants.js","names":["FEATURE_HIDE_POWERED_BY_MIRAI","exports"],"sources":["../../../../src/components/__shared__/Footer/Footer.constants.js"],"sourcesContent":["const FEATURE_HIDE_POWERED_BY_MIRAI = 'hidePoweredByMirai';\n\nexport { FEATURE_HIDE_POWERED_BY_MIRAI };\n"],"mappings":";;;;;;AAAA,MAAMA,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,oBAAoB"}