@mirai/core 0.4.212 → 0.4.213

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.
@@ -7,7 +7,8 @@ exports.Content = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _ui = require("@mirai/ui");
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _OTAPrices = require("./components/OTAPrices");
11
12
  var style = _interopRequireWildcard(require("./Rates.module.css"));
12
13
  var _BannerLoyalty = require("../BannerLoyalty");
13
14
  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); }
@@ -23,13 +24,28 @@ const Content = _ref => {
23
24
  const {
24
25
  isMobile
25
26
  } = (0, _ui.useDevice)();
27
+ const refBanner = (0, _react.useRef)();
26
28
  const {
27
29
  value: {
28
30
  club: {
29
31
  banner = {}
30
32
  } = {}
31
- }
33
+ } = {}
32
34
  } = (0, _dataSources.useStore)();
35
+ const [bannerVisible, setBannerVisible] = (0, _react.useState)(false);
36
+ (0, _react.useEffect)(() => {
37
+ const {
38
+ current: el
39
+ } = refBanner || {};
40
+ const callback = () => setBannerVisible(true);
41
+ const observer = new MutationObserver(callback);
42
+ observer.observe(el, {
43
+ childList: true,
44
+ subtree: true
45
+ });
46
+ return () => observer.disconnect();
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ }, [refBanner]);
33
49
  return !!banner || dangerousChildren.length > 0 || increments ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
34
50
  className: style.extraContent
35
51
  }), increments && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
@@ -42,10 +58,17 @@ const Content = _ref => {
42
58
  __html: child.outerHTML
43
59
  }
44
60
  }))) : null, /*#__PURE__*/_react.default.createElement(_ui.View, {
45
- id: "external-banner"
61
+ ref: refBanner,
62
+ id: "external-banner",
63
+ style: !bannerVisible ? {
64
+ display: 'none'
65
+ } : undefined
46
66
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
47
- id: "123-compare-plugin"
48
- }), /*#__PURE__*/_react.default.createElement(_BannerLoyalty.BannerLoyalty, others)) : null;
67
+ id: "123-compare-plugin",
68
+ style: {
69
+ display: 'none'
70
+ }
71
+ }), /*#__PURE__*/_react.default.createElement(_OTAPrices.OTAPrices, null), /*#__PURE__*/_react.default.createElement(_BannerLoyalty.BannerLoyalty, others)) : null;
49
72
  };
50
73
  exports.Content = Content;
51
74
  Content.displayName = 'Mirai:Core:Rates:Content';
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Content.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_BannerLoyalty","_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","Content","_ref","dangerousChildren","increments","others","isMobile","useDevice","value","club","banner","useStore","createElement","View","className","extraContent","Notification","small","warning","wide","map","child","index","dangerouslySetInnerHTML","__html","outerHTML","id","BannerLoyalty","exports","displayName","propTypes","bannerLoyalty","PropTypes","bool","arrayOf","any","string"],"sources":["../../../src/components/Rates/Rates.Content.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Rates.module.css';\nimport { BannerLoyalty } from '../BannerLoyalty';\n\nconst Content = ({ dangerousChildren = [], increments, ...others }) => {\n const { isMobile } = useDevice();\n const {\n value: { club: { banner = {} } = {} },\n } = useStore();\n\n return !!banner || dangerousChildren.length > 0 || increments ? (\n <View {...others} className={style.extraContent}>\n {increments && (\n <Notification small={isMobile} warning wide>\n {increments}\n </Notification>\n )}\n\n {dangerousChildren.length ? (\n <View>\n {dangerousChildren.map((child, index) => (\n <View key={index} dangerouslySetInnerHTML={{ __html: child.outerHTML }} />\n ))}\n </View>\n ) : null}\n\n <View id=\"external-banner\" />\n <View id=\"123-compare-plugin\" />\n\n <BannerLoyalty {...others} />\n </View>\n ) : null;\n};\n\nContent.displayName = 'Mirai:Core:Rates:Content';\n\nContent.propTypes = {\n bannerLoyalty: PropTypes.bool,\n dangerousChildren: PropTypes.arrayOf(PropTypes.any),\n increments: PropTypes.string,\n};\n\nexport { Content };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Content.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_BannerLoyalty","_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","Content","_ref","dangerousChildren","increments","others","isMobile","useDevice","refBanner","useRef","value","club","banner","useStore","bannerVisible","setBannerVisible","useState","useEffect","current","el","callback","observer","MutationObserver","observe","childList","subtree","disconnect","createElement","View","className","extraContent","Notification","small","warning","wide","map","child","index","dangerouslySetInnerHTML","__html","outerHTML","ref","id","display","undefined","OTAPrices","BannerLoyalty","exports","displayName","propTypes","bannerLoyalty","PropTypes","bool","arrayOf","any","string"],"sources":["../../../src/components/Rates/Rates.Content.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { OTAPrices } from './components/OTAPrices';\nimport * as style from './Rates.module.css';\nimport { BannerLoyalty } from '../BannerLoyalty';\n\nconst Content = ({ dangerousChildren = [], increments, ...others }) => {\n const { isMobile } = useDevice();\n const refBanner = useRef();\n const { value: { club: { banner = {} } = {} } = {} } = useStore();\n\n const [bannerVisible, setBannerVisible] = useState(false);\n\n useEffect(() => {\n const { current: el } = refBanner || {};\n\n const callback = () => setBannerVisible(true);\n const observer = new MutationObserver(callback);\n observer.observe(el, { childList: true, subtree: true });\n\n return () => observer.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [refBanner]);\n\n return !!banner || dangerousChildren.length > 0 || increments ? (\n <View {...others} className={style.extraContent}>\n {increments && (\n <Notification small={isMobile} warning wide>\n {increments}\n </Notification>\n )}\n\n {dangerousChildren.length ? (\n <View>\n {dangerousChildren.map((child, index) => (\n <View key={index} dangerouslySetInnerHTML={{ __html: child.outerHTML }} />\n ))}\n </View>\n ) : null}\n\n <View ref={refBanner} id=\"external-banner\" style={!bannerVisible ? { display: 'none' } : undefined} />\n <View id=\"123-compare-plugin\" style={{ display: 'none' }} />\n <OTAPrices />\n\n <BannerLoyalty {...others} />\n </View>\n ) : null;\n};\n\nContent.displayName = 'Mirai:Core:Rates:Content';\n\nContent.propTypes = {\n bannerLoyalty: PropTypes.bool,\n dangerousChildren: PropTypes.arrayOf(PropTypes.any),\n increments: PropTypes.string,\n};\n\nexport { Content };\n"],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OTAPrices = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _ui = require("@mirai/ui");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _OTAPrices = require("./OTAPrices.l10n");
13
+ var style = _interopRequireWildcard(require("./OTAPrices.module.css"));
14
+ var _OTAPrices2 = _interopRequireDefault(require("./OTAPrices.skeleton"));
15
+ var _Core = require("../../../../Core.constants");
16
+ var _shared__ = require("../../../__shared__");
17
+ 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); }
18
+ 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; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+ const OTAPrices = _ref => {
22
+ let {
23
+ ...others
24
+ } = _ref;
25
+ const {
26
+ isMobile
27
+ } = (0, _ui.useDevice)();
28
+ const {
29
+ currency,
30
+ locale,
31
+ translate
32
+ } = (0, _locale.useLocale)();
33
+ const {
34
+ value: {
35
+ finder: {
36
+ place
37
+ } = {},
38
+ performance = []
39
+ } = {}
40
+ } = (0, _dataSources.useStore)();
41
+ const [dataSource, setDataSource] = (0, _react.useState)();
42
+ const [fetching, setFetching] = (0, _react.useState)(true);
43
+ const [otas, setOtas] = (0, _react.useState)([]);
44
+ const hasOTA = performance.some(_ref2 => {
45
+ let {
46
+ instances = [],
47
+ type
48
+ } = _ref2;
49
+ return type === _Core.PERFORMANCE.COMPARE && instances.length > 0;
50
+ });
51
+ (0, _react.useEffect)(() => {
52
+ if (process.env.NODE_ENV === 'development') {
53
+ localStorage.setItem('cmprm_screens_override', '[{ "type": "StartsWith", "path": "http://local.mirai.com:8080", "id_screen": 1233 }]');
54
+ }
55
+ const handleHeaderReady = event => {
56
+ const {
57
+ detail: {
58
+ currency,
59
+ is_hide: disabled = false,
60
+ price
61
+ } = {}
62
+ } = event;
63
+ if (disabled) {
64
+ window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);
65
+ window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);
66
+ }
67
+ setDataSource({
68
+ currency,
69
+ disabled,
70
+ price
71
+ });
72
+ };
73
+ const handleOTAReady = event => {
74
+ const {
75
+ detail: {
76
+ currency,
77
+ id_ota: id,
78
+ ota_name: name,
79
+ price
80
+ } = {}
81
+ } = event;
82
+ setOtas(prevOtas => [...prevOtas, {
83
+ currency,
84
+ id,
85
+ name,
86
+ price
87
+ }]);
88
+ };
89
+ window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);
90
+ window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);
91
+ return () => {
92
+ window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);
93
+ window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);
94
+ };
95
+ }, []);
96
+ (0, _react.useEffect)(() => {
97
+ setFetching(true);
98
+ let timeout = setTimeout(() => setFetching(false), 5000);
99
+ return () => clearTimeout(timeout);
100
+ }, [otas]);
101
+ (0, _react.useEffect)(() => {
102
+ setDataSource();
103
+ setOtas([]);
104
+ }, [currency, place]);
105
+ const currencyFormatProps = {
106
+ currency,
107
+ locale,
108
+ maximumFractionDigits: 0
109
+ };
110
+ const {
111
+ disabled = false
112
+ } = dataSource || {};
113
+ return dataSource && !disabled ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
114
+ row: !isMobile,
115
+ className: style.container
116
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
117
+ row: true,
118
+ className: style.title
119
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, null, translate(_OTAPrices.L10N.LABEL_OUR_BEST_ONLINE_RATE)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
120
+ accent: true,
121
+ bold: true,
122
+ headline: true
123
+ }, (0, _locale.currencyFormat)({
124
+ ...currencyFormatProps,
125
+ value: dataSource.price
126
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
127
+ row: true,
128
+ className: style.items
129
+ }, [...otas].sort((a, b) => a.price - b.price).map(_ref3 => {
130
+ let {
131
+ id,
132
+ name,
133
+ price
134
+ } = _ref3;
135
+ return /*#__PURE__*/_react.default.createElement(_ui.View, {
136
+ key: id,
137
+ className: style.item
138
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
139
+ small: true
140
+ }, name), /*#__PURE__*/_react.default.createElement(_ui.Text, {
141
+ action: isMobile
142
+ }, (0, _locale.currencyFormat)({
143
+ ...currencyFormatProps,
144
+ value: price
145
+ })));
146
+ }), fetching && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Array.from({
147
+ length: 4 - otas.length
148
+ }, (_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
149
+ key: "skeleton:".concat(index),
150
+ className: style.item
151
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
152
+ small: true
153
+ }, "OTA Name"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
154
+ action: isMobile,
155
+ bold: true
156
+ }, "???$")))))) : !disabled && hasOTA ? /*#__PURE__*/_react.default.createElement(_OTAPrices2.default, null) : null;
157
+ };
158
+ exports.OTAPrices = OTAPrices;
159
+ OTAPrices.displayName = 'Mirai:Core:OTAPrices';
160
+ OTAPrices.propTypes = {
161
+ children: _propTypes.default.node,
162
+ className: _propTypes.default.any,
163
+ columnMode: _propTypes.default.bool,
164
+ disabled: _propTypes.default.bool,
165
+ focus: _propTypes.default.bool,
166
+ rowMode: _propTypes.default.bool
167
+ };
168
+ //# sourceMappingURL=OTAPrices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_OTAPrices2","_Core","_shared__","_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","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","value","finder","place","performance","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","hasOTA","some","_ref2","instances","type","PERFORMANCE","COMPARE","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","currencyFormatProps","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref3","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport OTAPricesSkeleton from './OTAPrices.skeleton';\nimport { PERFORMANCE } from '../../../../Core.constants';\nimport { Skeleton } from '../../../__shared__';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const { value: { finder: { place } = {}, performance = [] } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n const hasOTA = performance.some(({ instances = [], type }) => type === PERFORMANCE.COMPARE && instances.length > 0);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n setDataSource();\n setOtas([]);\n }, [currency, place]);\n\n const currencyFormatProps = { currency, locale, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : !disabled && hasOTA ? (\n <OTAPricesSkeleton />\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.L10N = void 0;
7
+ const L10N = exports.L10N = {
8
+ LABEL_OUR_BEST_ONLINE_RATE: {
9
+ id: 'finder.label.our_best_online_rate'
10
+ }
11
+ };
12
+ //# sourceMappingURL=OTAPrices.l10n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTAPrices.l10n.js","names":["L10N","exports","LABEL_OUR_BEST_ONLINE_RATE","id"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.l10n.js"],"sourcesContent":["export const L10N = {\n LABEL_OUR_BEST_ONLINE_RATE: { id: 'finder.label.our_best_online_rate' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,0BAA0B,EAAE;IAAEC,EAAE,EAAE;EAAoC;AACxE,CAAC"}
@@ -0,0 +1,74 @@
1
+ .container {
2
+ align-items: normal;
3
+ background-color: var(--mirai-ui-base);
4
+ border-radius: var(--mirai-ui-border-radius);
5
+ border: solid var(--mirai-ui-border-width) var(--mirai-ui-accent-border);
6
+ overflow: hidden;
7
+ }
8
+
9
+ .container > :first-child > * {
10
+ width: max-content;
11
+ }
12
+
13
+ .title {
14
+ gap: var(--mirai-ui-space-S);
15
+ }
16
+
17
+ .items {
18
+ overflow-x: auto;
19
+ width: 100%;
20
+ }
21
+
22
+ .item {
23
+ align-items: center;
24
+ flex-wrap: wrap;
25
+ }
26
+
27
+ /* S */
28
+ @media only screen and (max-width: 480px) {
29
+ .container > :first-child {
30
+ border-bottom: solid var(--mirai-ui-border-width) var(--mirai-ui-accent-border);
31
+ padding: var(--mirai-ui-space-S);
32
+ }
33
+
34
+ .title {
35
+ justify-content: space-between;
36
+ }
37
+
38
+ .items {
39
+ align-items: center;
40
+ padding: 0 var(--mirai-ui-space-XS);
41
+ }
42
+
43
+ .item {
44
+ padding: var(--mirai-ui-space-XS) 0;
45
+ max-width: 25%;
46
+ min-width: 25%;
47
+ }
48
+ }
49
+
50
+ /* M & L */
51
+ @media only screen and (min-width: 481px) {
52
+ .container > * {
53
+ padding: var(--mirai-ui-space-M);
54
+ }
55
+ }
56
+
57
+ /* M */
58
+ @media only screen and (min-width: 481px) and (max-width: 1179px) {
59
+ .item {
60
+ padding: var(--mirai-ui-space-XS) 0;
61
+ width: 33%;
62
+ }
63
+ }
64
+
65
+ /* L */
66
+ @media only screen and (min-width: 1180px) {
67
+ .items {
68
+ margin-left: var(--mirai-ui-space-M);
69
+ }
70
+
71
+ .item {
72
+ width: 25%;
73
+ }
74
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _ui = require("@mirai/ui");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _shared__ = require("../../../__shared__");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
+ const OTAPricesSkeleton = _ref => {
13
+ let {
14
+ ...others
15
+ } = _ref;
16
+ const {
17
+ isMobile
18
+ } = (0, _ui.useDevice)();
19
+ return /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, others, {
20
+ base: true,
21
+ row: !isMobile,
22
+ style: {
23
+ border: 'solid 1px var(--mirai-ui-content-border)'
24
+ }
25
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
26
+ style: {
27
+ borderBottom: isMobile ? 'solid 1px var(--mirai-ui-content-border)' : undefined,
28
+ padding: isMobile ? 'var(--mirai-ui-space-S)' : 'var(--mirai-ui-space-M)'
29
+ }
30
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
31
+ style: {
32
+ width: 'max-content'
33
+ }
34
+ }, "Our best online rate is $???!")), /*#__PURE__*/_react.default.createElement(_ui.View, {
35
+ row: true,
36
+ style: {
37
+ padding: isMobile ? 'var(--mirai-ui-space-XS)' : 'var(--mirai-ui-space-M)'
38
+ },
39
+ wide: true
40
+ }, Array.from({
41
+ length: 4
42
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
43
+ key: index,
44
+ style: {
45
+ alignItems: 'center',
46
+ width: '25%'
47
+ }
48
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
49
+ small: true
50
+ }, "OTA Name"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
51
+ action: isMobile,
52
+ bold: true
53
+ }, "$???")))));
54
+ };
55
+ OTAPricesSkeleton.displayName = 'Mirai:Core:OTAPrices:Skeleton';
56
+ OTAPricesSkeleton.propTypes = {};
57
+ var _default = exports.default = OTAPricesSkeleton;
58
+ //# sourceMappingURL=OTAPrices.skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTAPrices.skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OTAPricesSkeleton","_ref","others","isMobile","useDevice","createElement","Skeleton","base","row","style","border","View","borderBottom","undefined","padding","width","wide","Array","from","map","_","index","alignItems","small","action","bold","displayName","propTypes","_default","exports"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../../../__shared__';\n\nconst OTAPricesSkeleton = ({ ...others }) => {\n const { isMobile } = useDevice();\n\n return (\n <Skeleton\n {...others}\n base\n row={!isMobile}\n style={{\n border: 'solid 1px var(--mirai-ui-content-border)',\n }}\n >\n <View\n style={{\n borderBottom: isMobile ? 'solid 1px var(--mirai-ui-content-border)' : undefined,\n padding: isMobile ? 'var(--mirai-ui-space-S)' : 'var(--mirai-ui-space-M)',\n }}\n >\n <Skeleton style={{ width: 'max-content' }}>Our best online rate is $???!</Skeleton>\n </View>\n\n <View row style={{ padding: isMobile ? 'var(--mirai-ui-space-XS)' : 'var(--mirai-ui-space-M)' }} wide>\n {Array.from({ length: 4 }).map((_, index) => (\n <View key={index} style={{ alignItems: 'center', width: '25%' }}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n $???\n </Skeleton>\n </View>\n ))}\n </View>\n </Skeleton>\n );\n};\n\nOTAPricesSkeleton.displayName = 'Mirai:Core:OTAPrices:Skeleton';\n\nOTAPricesSkeleton.propTypes = {};\n\nexport default OTAPricesSkeleton;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAA+C,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAE/C,MAAMQ,iBAAiB,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EACtC,MAAM;IAAEE;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,oBACExB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ,EAAApB,QAAA,KACHgB,MAAM;IACVK,IAAI;IACJC,GAAG,EAAE,CAACL,QAAS;IACfM,KAAK,EAAE;MACLC,MAAM,EAAE;IACV;EAAE,iBAEF9B,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAiC,IAAI;IACHF,KAAK,EAAE;MACLG,YAAY,EAAET,QAAQ,GAAG,0CAA0C,GAAGU,SAAS;MAC/EC,OAAO,EAAEX,QAAQ,GAAG,yBAAyB,GAAG;IAClD;EAAE,gBAEFvB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACG,KAAK,EAAE;MAAEM,KAAK,EAAE;IAAc;EAAE,GAAC,+BAAuC,CAC9E,CAAC,eAEPnC,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAiC,IAAI;IAACH,GAAG;IAACC,KAAK,EAAE;MAAEK,OAAO,EAAEX,QAAQ,GAAG,0BAA0B,GAAG;IAA0B,CAAE;IAACa,IAAI;EAAA,GAClGC,KAAK,CAACC,IAAI,CAAC;IAAEzB,MAAM,EAAE;EAAE,CAAC,CAAC,CAAC0B,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACtCzC,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAiC,IAAI;IAAChB,GAAG,EAAE0B,KAAM;IAACZ,KAAK,EAAE;MAAEa,UAAU,EAAE,QAAQ;MAAEP,KAAK,EAAE;IAAM;EAAE,gBAC9DnC,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACiB,KAAK;EAAA,GAAC,UAAkB,CAAC,eACnC3C,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACkB,MAAM,EAAErB,QAAS;IAACsB,IAAI;EAAA,GAAC,MAEvB,CACN,CACP,CACG,CACE,CAAC;AAEf,CAAC;AAEDzB,iBAAiB,CAAC0B,WAAW,GAAG,+BAA+B;AAE/D1B,iBAAiB,CAAC2B,SAAS,GAAG,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5C,OAAA,GAElBe,iBAAiB"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _OTAPrices = require("./OTAPrices");
7
+ Object.keys(_OTAPrices).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _OTAPrices[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _OTAPrices[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_OTAPrices","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/components/Rates/components/OTAPrices/index.js"],"sourcesContent":["export * from './OTAPrices';\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -3,71 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.KPI_EVENTS = exports.DEFAULT_PERFORMANCE = exports.CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_ANSWERED = void 0;
6
+ exports.KPI_EVENTS = exports.CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_ANSWERED = void 0;
7
7
  var _Core = require("../../Core.constants");
8
- const DEFAULT_PERFORMANCE = exports.DEFAULT_PERFORMANCE = [{
9
- type: 1,
10
- instances: [{
11
- idAnalytics: 'G-EW4M987YRE',
12
- propertyId: '337963856',
13
- serviceAccount: 'ANALYTICS11',
14
- id: 42011
15
- }]
16
- }, {
17
- type: 2,
18
- instances: [{
19
- idAdwords: '604678444',
20
- conversionLabel: 'S0SLCLqv8toBEKzSqqAC',
21
- cookiePrefix: 'MIRAI',
22
- id: 55146
23
- }]
24
- }, {
25
- type: 3,
26
- instances: [{
27
- idGTM: 'GTM-M3CPG48',
28
- id: 55265
29
- }, {
30
- idGTM: 'GTM-PZG8RRXL',
31
- id: 55266
32
- }, {
33
- idGTM: 'GTM-M3CPG48',
34
- id: 55267
35
- }]
36
- }, {
37
- type: 4,
38
- instances: [{
39
- id: 47811
40
- }]
41
- }, {
42
- type: 5,
43
- instances: [{
44
- pixelId: '999999999',
45
- testEventCode: 'TEST9826',
46
- id: 55182
47
- }]
48
- }, {
49
- type: 6,
50
- instances: [{
51
- id: 55179
52
- }]
53
- }, {
54
- type: 7,
55
- instances: [{
56
- idAffilired: '999999',
57
- id: 55178
58
- }]
59
- }, {
60
- type: 8,
61
- instances: [{
62
- idBing: '5979008',
63
- id: 55180
64
- }]
65
- }, {
66
- type: 9,
67
- instances: [{
68
- id: 42010
69
- }]
70
- }];
71
8
  const CONSENT_MODE_ANSWERED = exports.CONSENT_MODE_ANSWERED = [_Core.PERFORMANCE.ANALYTICS, _Core.PERFORMANCE.COMPARE, _Core.PERFORMANCE.GTM, _Core.PERFORMANCE.GOOGLE_ADS];
72
9
  const CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_REQUIRED = [_Core.PERFORMANCE.AFFILIRED, _Core.PERFORMANCE.BING, _Core.PERFORMANCE.FACEBOOK, _Core.PERFORMANCE.THE_HOTEL_NETWORK];
73
10
  const KPI_EVENTS = exports.KPI_EVENTS = ['UNAVAILABILITY:RENDER', 'RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.constants.js","names":["_Core","require","DEFAULT_PERFORMANCE","exports","type","instances","idAnalytics","propertyId","serviceAccount","id","idAdwords","conversionLabel","cookiePrefix","idGTM","pixelId","testEventCode","idAffilired","idBing","CONSENT_MODE_ANSWERED","PERFORMANCE","ANALYTICS","COMPARE","GTM","GOOGLE_ADS","CONSENT_MODE_REQUIRED","AFFILIRED","BING","FACEBOOK","THE_HOTEL_NETWORK","KPI_EVENTS"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.constants.js"],"sourcesContent":["import { PERFORMANCE } from '../../Core.constants';\n\nconst DEFAULT_PERFORMANCE = [\n {\n type: 1,\n instances: [{ idAnalytics: 'G-EW4M987YRE', propertyId: '337963856', serviceAccount: 'ANALYTICS11', id: 42011 }],\n },\n {\n type: 2,\n instances: [{ idAdwords: '604678444', conversionLabel: 'S0SLCLqv8toBEKzSqqAC', cookiePrefix: 'MIRAI', id: 55146 }],\n },\n {\n type: 3,\n instances: [\n { idGTM: 'GTM-M3CPG48', id: 55265 },\n { idGTM: 'GTM-PZG8RRXL', id: 55266 },\n { idGTM: 'GTM-M3CPG48', id: 55267 },\n ],\n },\n { type: 4, instances: [{ id: 47811 }] },\n { type: 5, instances: [{ pixelId: '999999999', testEventCode: 'TEST9826', id: 55182 }] },\n { type: 6, instances: [{ id: 55179 }] },\n { type: 7, instances: [{ idAffilired: '999999', id: 55178 }] },\n { type: 8, instances: [{ idBing: '5979008', id: 55180 }] },\n { type: 9, instances: [{ id: 42010 }] },\n];\n\nconst CONSENT_MODE_ANSWERED = [PERFORMANCE.ANALYTICS, PERFORMANCE.COMPARE, PERFORMANCE.GTM, PERFORMANCE.GOOGLE_ADS];\n\nconst CONSENT_MODE_REQUIRED = [\n PERFORMANCE.AFFILIRED,\n PERFORMANCE.BING,\n PERFORMANCE.FACEBOOK,\n PERFORMANCE.THE_HOTEL_NETWORK,\n];\n\nconst KPI_EVENTS = ['UNAVAILABILITY:RENDER', 'RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];\n\nexport { DEFAULT_PERFORMANCE, CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS };\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,CAC1B;EACEE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;IAAEC,WAAW,EAAE,cAAc;IAAEC,UAAU,EAAE,WAAW;IAAEC,cAAc,EAAE,aAAa;IAAEC,EAAE,EAAE;EAAM,CAAC;AAChH,CAAC,EACD;EACEL,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;IAAEK,SAAS,EAAE,WAAW;IAAEC,eAAe,EAAE,sBAAsB;IAAEC,YAAY,EAAE,OAAO;IAAEH,EAAE,EAAE;EAAM,CAAC;AACnH,CAAC,EACD;EACEL,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CACT;IAAEQ,KAAK,EAAE,aAAa;IAAEJ,EAAE,EAAE;EAAM,CAAC,EACnC;IAAEI,KAAK,EAAE,cAAc;IAAEJ,EAAE,EAAE;EAAM,CAAC,EACpC;IAAEI,KAAK,EAAE,aAAa;IAAEJ,EAAE,EAAE;EAAM,CAAC;AAEvC,CAAC,EACD;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAEI,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,EACvC;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAES,OAAO,EAAE,WAAW;IAAEC,aAAa,EAAE,UAAU;IAAEN,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,EACxF;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAEI,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,EACvC;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAEW,WAAW,EAAE,QAAQ;IAAEP,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,EAC9D;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAEY,MAAM,EAAE,SAAS;IAAER,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,EAC1D;EAAEL,IAAI,EAAE,CAAC;EAAEC,SAAS,EAAE,CAAC;IAAEI,EAAE,EAAE;EAAM,CAAC;AAAE,CAAC,CACxC;AAED,MAAMS,qBAAqB,GAAAf,OAAA,CAAAe,qBAAA,GAAG,CAACC,iBAAW,CAACC,SAAS,EAAED,iBAAW,CAACE,OAAO,EAAEF,iBAAW,CAACG,GAAG,EAAEH,iBAAW,CAACI,UAAU,CAAC;AAEnH,MAAMC,qBAAqB,GAAArB,OAAA,CAAAqB,qBAAA,GAAG,CAC5BL,iBAAW,CAACM,SAAS,EACrBN,iBAAW,CAACO,IAAI,EAChBP,iBAAW,CAACQ,QAAQ,EACpBR,iBAAW,CAACS,iBAAiB,CAC9B;AAED,MAAMC,UAAU,GAAA1B,OAAA,CAAA0B,UAAA,GAAG,CAAC,uBAAuB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC"}
1
+ {"version":3,"file":"PerformanceManager.constants.js","names":["_Core","require","CONSENT_MODE_ANSWERED","exports","PERFORMANCE","ANALYTICS","COMPARE","GTM","GOOGLE_ADS","CONSENT_MODE_REQUIRED","AFFILIRED","BING","FACEBOOK","THE_HOTEL_NETWORK","KPI_EVENTS"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.constants.js"],"sourcesContent":["import { PERFORMANCE } from '../../Core.constants';\n\nconst CONSENT_MODE_ANSWERED = [PERFORMANCE.ANALYTICS, PERFORMANCE.COMPARE, PERFORMANCE.GTM, PERFORMANCE.GOOGLE_ADS];\n\nconst CONSENT_MODE_REQUIRED = [\n PERFORMANCE.AFFILIRED,\n PERFORMANCE.BING,\n PERFORMANCE.FACEBOOK,\n PERFORMANCE.THE_HOTEL_NETWORK,\n];\n\nconst KPI_EVENTS = ['UNAVAILABILITY:RENDER', 'RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];\n\nexport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS };\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,CAACE,iBAAW,CAACC,SAAS,EAAED,iBAAW,CAACE,OAAO,EAAEF,iBAAW,CAACG,GAAG,EAAEH,iBAAW,CAACI,UAAU,CAAC;AAEnH,MAAMC,qBAAqB,GAAAN,OAAA,CAAAM,qBAAA,GAAG,CAC5BL,iBAAW,CAACM,SAAS,EACrBN,iBAAW,CAACO,IAAI,EAChBP,iBAAW,CAACQ,QAAQ,EACpBR,iBAAW,CAACS,iBAAiB,CAC9B;AAED,MAAMC,UAAU,GAAAX,OAAA,CAAAW,UAAA,GAAG,CAAC,uBAAuB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC"}
@@ -32,7 +32,7 @@ const PerformanceManager = () => {
32
32
  const {
33
33
  value: {
34
34
  components = {},
35
- performance = _PerformanceManager.DEFAULT_PERFORMANCE || [],
35
+ performance = [],
36
36
  ...store
37
37
  }
38
38
  } = (0, _dataSources.useStore)();
@@ -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","memoizedEvents","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","DEFAULT_PERFORMANCE","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","types","setTypes","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","length","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","loadScripts","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","_getPerformance","config","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","Promise","all","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 {\n CONSENT_MODE_ANSWERED,\n CONSENT_MODE_REQUIRED,\n DEFAULT_PERFORMANCE,\n KPI_EVENTS,\n} 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 memoizedEvents = [];\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = DEFAULT_PERFORMANCE || [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n const [types, setTypes] = useState([]);\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 && types.length > 0) 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 await loadScripts(\n performance.filter(({ type } = {}) => type !== COMPARE),\n nextConsentMode,\n );\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);\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 && ready)\n loadScripts(getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n if (!ready) return;\n\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode();\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 (\n !currentConsentMode &&\n (!availableProviders.includes(provider) || (types.length > 0 && !types.includes(provider)))\n ) {\n if (counter === undefined && ready && CONSENT_MODE_ANSWERED.includes(provider)) executeEvent(props);\n else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else if (ready) executeEvent(props);\n else memoizedEvents.push(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, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\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 consentMode,\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, loadedComponents }),\n type,\n })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config).catch(() => {})));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\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","memoizedEvents","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","types","setTypes","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","length","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","loadScripts","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","_getPerformance","config","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","Promise","all","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 memoizedEvents = [];\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n const [types, setTypes] = useState([]);\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 && types.length > 0) 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 await loadScripts(\n performance.filter(({ type } = {}) => type !== COMPARE),\n nextConsentMode,\n );\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);\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 && ready)\n loadScripts(getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n if (!ready) return;\n\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode();\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 (\n !currentConsentMode &&\n (!availableProviders.includes(provider) || (types.length > 0 && !types.includes(provider)))\n ) {\n if (counter === undefined && ready && CONSENT_MODE_ANSWERED.includes(provider)) executeEvent(props);\n else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else if (ready) executeEvent(props);\n else memoizedEvents.push(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, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\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 consentMode,\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, loadedComponents }),\n type,\n })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config).catch(() => {})));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAEA,MAAMW,WAAW,GAAG,CAAC;AACrB,MAAM;EAAEC,OAAO;EAAEC;AAAI,CAAC,GAAGC,iBAAW,IAAI,CAAC,CAAC;AAE1C,IAAIC,OAAO,GAAG,CAAC;AACf,IAAIC,cAAc,GAAG,EAAE;AACvB,IAAIC,qBAAqB,GAAG,EAAE;AAE9B,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,MAAMC,MAAM,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,WAAW,GAAG,EAAE;MAAE,GAAGC;IAAM;EACvD,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAAC,uBAAc,EAAC,CAAC,CAAC;EAChE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,KAAK,CAAC;EACzC,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,EAAE,CAAC;EAEtC,MAAM;IAAEM,KAAK,GAAG,CAAC,CAAC;IAAEC,MAAM,EAAE;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAAEC,EAAE,EAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAGjB,KAAK;EAE3F,IAAAkB,gBAAS,EAAC,MAAM;IACd;IACAC,MAAM,CAACC,KAAK,CAACC,aAAa,GAAG,IAAAC,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;IAE5D,MAAMC,OAAO,GAAGC,yBAAe,CAACC,GAAG,CAAC,SAAS,EAAEjB,KAAK,CAACG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAMe,aAAa,GAAGC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,CAC1CM,MAAM,CAACC,IAAA;MAAA,IAAC,GAAGnC,KAAK,CAAC,GAAAmC,IAAA;MAAA,OAAKnC,KAAK,KAAK,KAAK;IAAA,EAAC,CACtCoC,GAAG,CAACC,KAAA;MAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,KAAA;MAAA,OAAKC,GAAG;IAAA,EAAC;IAEtB,MAAMC,aAAa,GAAGC,KAAA,IAAsB;MAAA,IAArB;QAAExB,EAAE;QAAE,GAAGyB;MAAM,CAAC,GAAAD,KAAA;MACrC,IAAI,CAACxB,EAAE,IAAIM,MAAM,CAACoB,aAAa,IAAIpB,MAAM,CAACI,QAAQ,CAACiB,IAAI,KAAK,oBAAoB,EAAE;MAClF,MAAMC,KAAK,GAAG5B,EAAE,CAAC6B,WAAW,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MACrC,MAAM,CAACC,MAAM,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;MAEjC,IAAIjB,aAAa,CAACkB,QAAQ,CAACF,MAAM,CAAC,IAAI,CAACG,8BAAU,CAACD,QAAQ,CAACL,KAAK,CAAC,EAAE;MACnE,MAAMO,MAAM,GAAGP,KAAK,CAACK,QAAQ,CAAC,QAAQ,CAAC,GAAGnD,WAAW,GAAGD,KAAK;MAE7DsD,MAAM,CAACP,KAAK,EAAE;QACZ,GAAGH,KAAK;QACRW,OAAO,EAAEvC,KAAK,CAACG,EAAE;QACjBC,UAAU;QACVC,MAAM;QACNmC,MAAM,EAAE1D,MAAM,CAAC0D,MAAM;QACrBlC,OAAO;QACPC;MACF,CAAC,CAAC;IACJ,CAAC;IAEDkC,kBAAK,CAACC,SAAS,CAACC,eAAgB,CAACC,OAAO,EAAElB,aAAa,CAAC;IAExD,OAAO,MAAMe,kBAAK,CAACI,WAAW,CAACF,eAAgB,CAACC,OAAO,EAAElB,aAAa,CAAC;IACvE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAlB,gBAAS,EAAC,MAAM;IACd,IAAIhB,WAAW,IAAIM,KAAK,CAACgD,MAAM,GAAG,CAAC,EAAE;IAErC,MAAMC,QAAQ,GAAGC,WAAW,CAAC,YAAY;MACvCtE,OAAO,KAAKuE,SAAS,IAAIvE,OAAO,EAAE;MAClC,MAAMwE,eAAe,GAAG,IAAAvD,uBAAc,EAACjB,OAAO,IAAIJ,WAAW,CAAC;MAC9D,MAAM6E,KAAK,GAAIC,QAAQ,IAAK,CAAC7E,OAAO,EAAEC,GAAG,CAAC,CAAC4D,QAAQ,CAACgB,QAAQ,CAAC;MAE7D,IACGF,eAAe,KAAKD,SAAS,IAC5BrE,qBAAqB,CAACyC,MAAM,CAAC;QAAA,IAAC;UAAE+B;QAAS,CAAC,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKF,KAAK,CAACC,QAAQ,CAAC;MAAA,EAAC,CAACN,MAAM,KAAK,CAAC,IAClF,CAACI,eAAe,IAAIxE,OAAO,GAAGJ,WAAY,EAE3C;MAEF,MAAMgF,WAAW,CACfjE,WAAW,CAACgC,MAAM,CAAC;QAAA,IAAC;UAAEd;QAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK9C,IAAI,KAAKhC,OAAO;MAAA,EAAC,EACvD2E,eACF,CAAC;MAED,MAAMK,yBAAyB,GAAG,EAAE;MACpC3E,qBAAqB,CAAC4E,OAAO,CAAC,YAAgB;QAAA,IAAfzB,KAAK,GAAAsB,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QACvC,MAAM;UAAED;QAAS,CAAC,GAAGrB,KAAK;QAC1B,MAAM0B,OAAO,GAAGP,eAAe,IAAKxE,OAAO,IAAIJ,WAAW,IAAIoF,yCAAqB,CAACtB,QAAQ,CAACgB,QAAQ,CAAE;QACvG,MAAMO,OAAO,GAAGT,eAAe,KAAKD,SAAS,IAAI,CAACE,KAAK,CAACC,QAAQ,CAAC;QAEjE,IAAI,CAACK,OAAO,IAAIE,OAAO,EAAE;UACvBJ,yBAAyB,CAACK,IAAI,CAAC7B,KAAK,CAAC;QACvC,CAAC,MAAM;UACL8B,YAAY,CAAC9B,KAAK,CAAC;UAEnB,IAAI,CAACmB,eAAe,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAC,EAAEG,yBAAyB,CAACK,IAAI,CAAC7B,KAAK,CAAC;QACjF;MACF,CAAC,CAAC;MACFnD,qBAAqB,GAAG2E,yBAAyB;MACjD,IAAIL,eAAe,KAAKD,SAAS,EAAE;QACjCvE,OAAO,GAAGuE,SAAS;QACnBxD,cAAc,CAACyD,eAAe,CAAC;MACjC;IACF,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAMY,aAAa,CAACf,QAAQ,CAAC;IACpC;EACF,CAAC,EAAE,CAACvD,WAAW,CAAC,CAAC;EAEjB,IAAAgB,gBAAS,EAAC,MAAM;IAAA,IAAAuD,eAAA;IACd,MAAM;MAAEC,MAAM;MAAE/D,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACoC,OAAO,CAAC,GAAG,EAAE;UAAE0B;QAAQ,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG3E,KAAK;IAEtF,IAAIY,KAAK,IAAIN,KAAK,EAChB0D,WAAW,EAAAS,eAAA,GAAC,IAAAG,wBAAc,EAACF,MAAM,EAAEC,OAAO,GAAG1B,OAAO,GAAGU,SAAS,CAAC,cAAAc,eAAA,uBAArDA,eAAA,CAAuD1C,MAAM,CAAC;MAAA,IAAC;QAAEd;MAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK9C,IAAI,KAAKhC,OAAO;IAAA,EAAC,CAAC;IACjH;EACF,CAAC,EAAE,CAAC2B,KAAK,CAAC,CAAC;EAEX,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,KAAK,EAAE;IAEZjB,cAAc,CAAC6E,OAAO,CAAEzB,KAAK,IAAK8B,YAAY,CAAC9B,KAAK,CAAC,CAAC;IACtDpD,cAAc,GAAG,EAAE;IACnB;EACF,CAAC,EAAE,CAACiB,KAAK,CAAC,CAAC;EAEX,IAAAY,gBAAS,EAAC,MAAM;IACd,MAAM2D,WAAW,GAAGC,KAAA,IAAyB;MAAA,IAAxB;QAAErC,KAAK;QAAE,GAAG5C;MAAM,CAAC,GAAAiF,KAAA;MACtC,MAAMC,kBAAkB,GAAG,IAAA1E,uBAAc,EAAC,CAAC;MAE3C,MAAM2E,kBAAkB,GAAGjF,WAAW,CACnCkC,GAAG,CAAC;QAAA,IAAC;UAAEhB;QAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK9C,IAAI;MAAA,EAAC,CAC5Bc,MAAM,CAAEd,IAAI,IAAK,EAAE,CAAC8D,kBAAkB,IAAIX,yCAAqB,CAACtB,QAAQ,CAAC7B,IAAI,CAAC,CAAC,CAAC,CAChFc,MAAM,CAAEd,IAAI,IAAK8D,kBAAkB,IAAI,CAACE,yCAAqB,CAACnC,QAAQ,CAAC7B,IAAI,CAAC,CAAC;MAEhFY,MAAM,CAACC,OAAO,CAACoD,2BAAM,CAACzC,KAAK,CAAC,CAAC,CAACyB,OAAO,CAACiB,KAAA,IAAyC;QAAA,IAAxC,CAACC,YAAY,EAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC,CAAC,GAAAF,KAAA;QACxE,MAAMrB,QAAQ,GAAGwB,QAAQ,CAACF,YAAY,CAAC;QACvC,MAAM9C,KAAK,GAAG;UAAE+C,QAAQ;UAAE5C,KAAK;UAAEqB,QAAQ;UAAEjE;QAAM,CAAC;QAElD,IACE,CAACkF,kBAAkB,KAClB,CAACC,kBAAkB,CAAClC,QAAQ,CAACgB,QAAQ,CAAC,IAAKtD,KAAK,CAACgD,MAAM,GAAG,CAAC,IAAI,CAAChD,KAAK,CAACsC,QAAQ,CAACgB,QAAQ,CAAE,CAAC,EAC3F;UACA,IAAI1E,OAAO,KAAKuE,SAAS,IAAIrD,KAAK,IAAI8D,yCAAqB,CAACtB,QAAQ,CAACgB,QAAQ,CAAC,EAAES,YAAY,CAACjC,KAAK,CAAC,CAAC,KAC/F,IAAI,CAAChD,qBAAqB,CAACiG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC/C,KAAK,KAAKA,KAAK,IAAI+C,IAAI,CAAC1B,QAAQ,KAAKA,QAAQ,CAAC,EAAE;YAClGxE,qBAAqB,CAACgF,IAAI,CAAChC,KAAK,CAAC;UACnC;QACF,CAAC,MAAM,IAAIhC,KAAK,EAAEiE,YAAY,CAACjC,KAAK,CAAC,CAAC,KACjCjD,cAAc,CAACiF,IAAI,CAAChC,KAAK,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC;IAEDT,MAAM,CAAC4D,IAAI,CAACP,2BAAM,CAAC,CAAChB,OAAO,CAAEzB,KAAK,IAAKU,kBAAK,CAACC,SAAS,CAACX,KAAK,EAAEoC,WAAW,CAAC,CAAC;IAE3E,OAAO,MAAMhD,MAAM,CAAC4D,IAAI,CAACP,2BAAM,CAAC,CAAChB,OAAO,CAAEzB,KAAK,IAAKU,kBAAK,CAACI,WAAW,CAACd,KAAK,EAAEoC,WAAW,CAAC,CAAC;IAC1F;EACF,CAAC,EAAE,CAACrF,MAAM,EAAEc,KAAK,EAAEN,KAAK,CAAC,CAAC;EAE1B,MAAMuE,YAAY,GAAG,SAAAA,CAAA,EAA+C;IAAA,IAA9C;MAAET,QAAQ;MAAEuB,QAAQ;MAAExF,KAAK;MAAE4C;IAAM,CAAC,GAAAsB,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;IAC7D,MAAMW,MAAM,GAAG3E,WAAW,CAAC2F,IAAI,CAACC,KAAA;MAAA,IAAC;QAAE1E;MAAK,CAAC,GAAA0E,KAAA;MAAA,OAAK1E,IAAI,KAAK6C,QAAQ;IAAA,EAAC;IAChE,MAAM8B,QAAQ,GAAGP,QAAQ,CAAC;MAAE,GAAGxF,KAAK;MAAE,GAAG6E,MAAM;MAAElF,MAAM;MAAEQ;IAAM,CAAC,CAAC;IACjE,IAAI,CAAC4F,QAAQ,EAAE;IAEf,MAAMC,KAAK,mBAAAC,MAAA,CAAS,IAAAC,4BAAmB,EAACjC,QAAQ,CAAC,OAAAgC,MAAA,CAAIrD,KAAK,CAAE;IAC5D;IACAmD,QAAQ,CAACI,IAAI,GAAGJ,QAAQ,CAACI,IAAI,CAAEnG,KAAK,IAAKoG,OAAO,CAACC,GAAG,CAACL,KAAK,EAAEhG,KAAK,CAAC,CAAC,GAAGoG,OAAO,CAACC,GAAG,CAACL,KAAK,EAAED,QAAQ,CAAC;IAElG,IAAI9B,QAAQ,KAAK5E,GAAG,EAAE;MACpB8E,WAAW,CACTjE,WAAW,CAACgC,MAAM,CAAC;QAAA,IAAC;UAAEd;QAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK9C,IAAI,KAAKhC,OAAO;MAAA,EAAC,EACvDiB,WACF,CAAC;IACH;EACF,CAAC;EAED,MAAM8D,WAAW,GAAG,eAAAA,CAAA,EAA2D;IAAA,IAApDjE,WAAW,GAAAgE,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,EAAE;IAAA,IAAEoC,eAAe,GAAApC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG7D,WAAW;IACxE,MAAMkG,gBAAgB,GAAGvE,MAAM,CAAC4D,IAAI,CAAC3F,UAAU,CAAC;IAEhD,MAAMuG,OAAO,GAAG,EAAE;IAClBtG,WAAW,CACRgC,MAAM,CAAC;MAAA,IAAC;QAAEd;MAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKoC,eAAe,KAAK,IAAI,IAAI,CAAClB,yCAAqB,CAACnC,QAAQ,CAAC7B,IAAI,CAAC;IAAA,EAAC,CAC5FiD,OAAO,CAAC,YAAkD;MAAA,IAAjD;QAAEjD,IAAI;QAAEqF,SAAS,EAAEC,aAAa,GAAG;MAAG,CAAC,GAAAxC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MACpD,MAAM;QAAEjE,UAAU,GAAG,EAAE;QAAE0G,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;QAAEC,IAAI,GAAG;MAAM,CAAC,GAAGC,4BAAO,CAACzF,IAAI,CAAC,IAAI,CAAC,CAAC;MAE9E,IAAInB,UAAU,CAAC0D,MAAM,KAAK,CAAC,IAAI1D,UAAU,CAACyF,IAAI,CAAEC,IAAI,IAAKY,gBAAgB,CAACtD,QAAQ,CAAC0C,IAAI,CAAC,CAAC,EAAE;QACzF,MAAMc,SAAS,GAAGG,IAAI,GAAG,CAACF,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGA,aAAa;QAC3DF,OAAO,CAAC/B,IAAI,CACV,GAAGgC,SAAS,CAACrE,GAAG,CAAC;UAAA,IAACyC,MAAM,GAAAX,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;UAAA,IAAE4C,KAAK,GAAA5C,SAAA,CAAAP,MAAA,OAAAO,SAAA,MAAAJ,SAAA;UAAA,OAAM;YACxCiD,MAAM,iBAAAd,MAAA,CAAiB,IAAAC,4BAAmB,EAAC9E,IAAI,CAAC,CAAE;YAClDJ,EAAE,EAAE8F,KAAK,GAAG,CAAC;YACb,GAAGH,IAAI,CAAC;cAAE,GAAG9B,MAAM;cAAEhE,KAAK;cAAE0F;YAAiB,CAAC,CAAC;YAC/CnF;UACF,CAAC;QAAA,CAAC,CACJ,CAAC;MACH;IACF,CAAC,CAAC;IAEJV,QAAQ,CAAC,KAAK,CAAC;IACf,MAAMsG,OAAO,CAACC,GAAG,CAACT,OAAO,CAACpE,GAAG,CAAEyC,MAAM,IAAK,IAAAqC,oBAAU,EAACrC,MAAM,CAAC,CAACsC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9EvG,QAAQ,CAAC4F,OAAO,CAACpE,GAAG,CAAC;MAAA,IAAC;QAAEhB;MAAK,CAAC,GAAA8C,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK9C,IAAI;IAAA,EAAC,CAAC;IAC9CV,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAAC0G,OAAA,CAAA1H,kBAAA,GAAAA,kBAAA"}
@@ -7,6 +7,69 @@ exports.getPerformance = void 0;
7
7
  var _helpers = require("../components/helpers");
8
8
  var _Core = require("../Core.constants");
9
9
  const MONALISA_ID = '100379008';
10
+ const DEFAULT_PERFORMANCE = [{
11
+ type: 1,
12
+ instances: [{
13
+ idAnalytics: 'G-EW4M987YRE',
14
+ propertyId: '337963856',
15
+ serviceAccount: 'ANALYTICS11',
16
+ id: 42011
17
+ }]
18
+ }, {
19
+ type: 2,
20
+ instances: [{
21
+ idAdwords: '604678444',
22
+ conversionLabel: 'S0SLCLqv8toBEKzSqqAC',
23
+ cookiePrefix: 'MIRAI',
24
+ id: 55146
25
+ }]
26
+ }, {
27
+ type: 3,
28
+ instances: [{
29
+ idGTM: 'GTM-M3CPG48',
30
+ id: 55265
31
+ }, {
32
+ idGTM: 'GTM-PZG8RRXL',
33
+ id: 55266
34
+ }, {
35
+ idGTM: 'GTM-M3CPG48',
36
+ id: 55267
37
+ }]
38
+ }, {
39
+ type: 4,
40
+ instances: [{
41
+ id: 47811
42
+ }]
43
+ }, {
44
+ type: 5,
45
+ instances: [{
46
+ pixelId: '999999999',
47
+ testEventCode: 'TEST9826',
48
+ id: 55182
49
+ }]
50
+ }, {
51
+ type: 6,
52
+ instances: [{
53
+ id: 55179
54
+ }]
55
+ }, {
56
+ type: 7,
57
+ instances: [{
58
+ idAffilired: '999999',
59
+ id: 55178
60
+ }]
61
+ }, {
62
+ type: 8,
63
+ instances: [{
64
+ idBing: '5979008',
65
+ id: 55180
66
+ }]
67
+ }, {
68
+ type: 9,
69
+ instances: [{
70
+ id: 42010
71
+ }]
72
+ }];
10
73
  const getPerformance = function () {
11
74
  let {
12
75
  tracking: {
@@ -16,7 +79,7 @@ const getPerformance = function () {
16
79
  } = {}
17
80
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
81
  let hotelId = arguments.length > 1 ? arguments[1] : undefined;
19
- if (!_helpers.IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return;
82
+ if (!_helpers.IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return DEFAULT_PERFORMANCE;
20
83
  if (process.env.NODE_ENV === 'production' && hotelId === MONALISA_ID) return [];
21
84
 
22
85
  // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"getPerformance.js","names":["_helpers","require","_Core","MONALISA_ID","getPerformance","tracking","trackingChain","trackingHotels","others","arguments","length","undefined","hotelId","IS_JEST","process","env","NODE_ENV","hotelTracking","find","idTokenProvider","id","parseInt","Object","keys","forEach","key","filter","TRACKING","map","type","instances","_ref","configuration","idTracking","exports"],"sources":["../../src/helpers/getPerformance.js"],"sourcesContent":["import { IS_JEST } from '../components/helpers';\nimport { TRACKING } from '../Core.constants';\n\nconst MONALISA_ID = '100379008';\n\nexport const getPerformance = ({ tracking: { trackingChain, trackingHotels, ...others } = {} } = {}, hotelId) => {\n if (!IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return;\n\n if (process.env.NODE_ENV === 'production' && hotelId === MONALISA_ID) return [];\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n let tracking = others;\n\n if (trackingChain && trackingHotels) {\n tracking = { ...trackingChain };\n const hotelTracking = hotelId && trackingHotels.find(({ idTokenProvider: id } = {}) => id === parseInt(hotelId));\n\n hotelTracking &&\n Object.keys(tracking).forEach((key) => {\n tracking[key] = [...tracking[key], ...hotelTracking[key]];\n });\n }\n\n // ! -- TODO: Choose which one will load gtag\n return Object.keys(tracking).length > 0\n ? Object.keys(tracking)\n .filter((key) => !!TRACKING[key] && tracking[key].length > 0)\n .map((key) => ({\n type: TRACKING[key],\n instances: tracking[key].map(({ configuration = {}, id: idTracking }) => ({\n ...(configuration !== null ? configuration : {}),\n idTracking,\n })),\n }))\n : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,MAAME,WAAW,GAAG,WAAW;AAExB,MAAMC,cAAc,GAAG,SAAAA,CAAA,EAAmF;EAAA,IAAlF;IAAEC,QAAQ,EAAE;MAAEC,aAAa;MAAEC,cAAc;MAAE,GAAGC;IAAO,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,OAAO,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC1G,IAAI,CAACE,gBAAO,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIJ,OAAO,KAAKT,WAAW,EAAE;EAElF,IAAIW,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIJ,OAAO,KAAKT,WAAW,EAAE,OAAO,EAAE;;EAE/E;EACA,IAAIE,QAAQ,GAAGG,MAAM;EAErB,IAAIF,aAAa,IAAIC,cAAc,EAAE;IACnCF,QAAQ,GAAG;MAAE,GAAGC;IAAc,CAAC;IAC/B,MAAMW,aAAa,GAAGL,OAAO,IAAIL,cAAc,CAACW,IAAI,CAAC;MAAA,IAAC;QAAEC,eAAe,EAAEC;MAAG,CAAC,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKW,EAAE,KAAKC,QAAQ,CAACT,OAAO,CAAC;IAAA,EAAC;IAEhHK,aAAa,IACXK,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACmB,OAAO,CAAEC,GAAG,IAAK;MACrCpB,QAAQ,CAACoB,GAAG,CAAC,GAAG,CAAC,GAAGpB,QAAQ,CAACoB,GAAG,CAAC,EAAE,GAAGR,aAAa,CAACQ,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC;EACN;;EAEA;EACA,OAAOH,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACK,MAAM,GAAG,CAAC,GACnCY,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAClBqB,MAAM,CAAED,GAAG,IAAK,CAAC,CAACE,cAAQ,CAACF,GAAG,CAAC,IAAIpB,QAAQ,CAACoB,GAAG,CAAC,CAACf,MAAM,GAAG,CAAC,CAAC,CAC5DkB,GAAG,CAAEH,GAAG,KAAM;IACbI,IAAI,EAAEF,cAAQ,CAACF,GAAG,CAAC;IACnBK,SAAS,EAAEzB,QAAQ,CAACoB,GAAG,CAAC,CAACG,GAAG,CAACG,IAAA;MAAA,IAAC;QAAEC,aAAa,GAAG,CAAC,CAAC;QAAEZ,EAAE,EAAEa;MAAW,CAAC,GAAAF,IAAA;MAAA,OAAM;QACxE,IAAIC,aAAa,KAAK,IAAI,GAAGA,aAAa,GAAG,CAAC,CAAC,CAAC;QAChDC;MACF,CAAC;IAAA,CAAC;EACJ,CAAC,CAAC,CAAC,GACLtB,SAAS;AACf,CAAC;AAACuB,OAAA,CAAA9B,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"getPerformance.js","names":["_helpers","require","_Core","MONALISA_ID","DEFAULT_PERFORMANCE","type","instances","idAnalytics","propertyId","serviceAccount","id","idAdwords","conversionLabel","cookiePrefix","idGTM","pixelId","testEventCode","idAffilired","idBing","getPerformance","tracking","trackingChain","trackingHotels","others","arguments","length","undefined","hotelId","IS_JEST","process","env","NODE_ENV","hotelTracking","find","idTokenProvider","parseInt","Object","keys","forEach","key","filter","TRACKING","map","_ref","configuration","idTracking","exports"],"sources":["../../src/helpers/getPerformance.js"],"sourcesContent":["import { IS_JEST } from '../components/helpers';\nimport { TRACKING } from '../Core.constants';\n\nconst MONALISA_ID = '100379008';\n\nconst DEFAULT_PERFORMANCE = [\n {\n type: 1,\n instances: [{ idAnalytics: 'G-EW4M987YRE', propertyId: '337963856', serviceAccount: 'ANALYTICS11', id: 42011 }],\n },\n {\n type: 2,\n instances: [{ idAdwords: '604678444', conversionLabel: 'S0SLCLqv8toBEKzSqqAC', cookiePrefix: 'MIRAI', id: 55146 }],\n },\n {\n type: 3,\n instances: [\n { idGTM: 'GTM-M3CPG48', id: 55265 },\n { idGTM: 'GTM-PZG8RRXL', id: 55266 },\n { idGTM: 'GTM-M3CPG48', id: 55267 },\n ],\n },\n { type: 4, instances: [{ id: 47811 }] },\n { type: 5, instances: [{ pixelId: '999999999', testEventCode: 'TEST9826', id: 55182 }] },\n { type: 6, instances: [{ id: 55179 }] },\n { type: 7, instances: [{ idAffilired: '999999', id: 55178 }] },\n { type: 8, instances: [{ idBing: '5979008', id: 55180 }] },\n { type: 9, instances: [{ id: 42010 }] },\n];\n\nexport const getPerformance = ({ tracking: { trackingChain, trackingHotels, ...others } = {} } = {}, hotelId) => {\n if (!IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return DEFAULT_PERFORMANCE;\n\n if (process.env.NODE_ENV === 'production' && hotelId === MONALISA_ID) return [];\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n let tracking = others;\n\n if (trackingChain && trackingHotels) {\n tracking = { ...trackingChain };\n const hotelTracking = hotelId && trackingHotels.find(({ idTokenProvider: id } = {}) => id === parseInt(hotelId));\n\n hotelTracking &&\n Object.keys(tracking).forEach((key) => {\n tracking[key] = [...tracking[key], ...hotelTracking[key]];\n });\n }\n\n // ! -- TODO: Choose which one will load gtag\n return Object.keys(tracking).length > 0\n ? Object.keys(tracking)\n .filter((key) => !!TRACKING[key] && tracking[key].length > 0)\n .map((key) => ({\n type: TRACKING[key],\n instances: tracking[key].map(({ configuration = {}, id: idTracking }) => ({\n ...(configuration !== null ? configuration : {}),\n idTracking,\n })),\n }))\n : undefined;\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.212",
3
+ "version": "0.4.213",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",