@mirai/core 0.4.26 → 0.4.27

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.
@@ -50,6 +50,8 @@ const PerformanceManager = () => {
50
50
  type
51
51
  } = store;
52
52
  (0, _react.useEffect)(() => {
53
+ //! TODO: temp fix for 123 compare for first phase
54
+ window.Mirai.urlParameters = (0, _helpers3.fetchUrlParams)(location.search);
53
55
  const metrics = _services.ServiceFeatures.get('metrics', hotel.id) || {};
54
56
  const bannedMetrics = Object.entries(metrics).filter(_ref => {
55
57
  let [, value] = _ref;
@@ -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","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","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","loadScripts","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","handleEvent","EVENT","CORE_READY","_getPerformance","config","isHotel","getPerformance","_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","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 { EVENT, PERFORMANCE } from '../../Core.constants';\nimport { 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 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 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 handleEvent = () => loadScripts(performance.filter(({ type } = {}) => type !== COMPARE));\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = 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)));\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;AAMA,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,GAAGC,uCAAmB,IAAI,EAAE;MAAE,GAAGC;IAAM;EAC9E,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;IAAEC,MAAM,EAAE;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAAEC,EAAE,EAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAGjB,KAAK;EAEtF,IAAAkB,gBAAS,EAAC,MAAM;IACd,MAAMC,OAAO,GAAGC,yBAAe,CAACC,GAAG,CAAC,SAAS,EAAEX,KAAK,CAACG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAMS,aAAa,GAAGC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,CAC1CM,MAAM,CAACC,IAAA;MAAA,IAAC,GAAG9B,KAAK,CAAC,GAAA8B,IAAA;MAAA,OAAK9B,KAAK,KAAK,KAAK;IAAA,EAAC,CACtC+B,GAAG,CAACC,KAAA;MAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,KAAA;MAAA,OAAKC,GAAG;IAAA,EAAC;IAEtB,MAAMC,aAAa,GAAGC,KAAA,IAAsB;MAAA,IAArB;QAAElB,EAAE;QAAE,GAAGmB;MAAM,CAAC,GAAAD,KAAA;MACrC,IAAI,CAAClB,EAAE,IAAIoB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,QAAQ,CAACC,IAAI,KAAK,oBAAoB,EAAE;MAClF,MAAMC,KAAK,GAAGxB,EAAE,CAACyB,WAAW,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MACrC,MAAM,CAACC,MAAM,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;MAEjC,IAAInB,aAAa,CAACoB,QAAQ,CAACF,MAAM,CAAC,IAAI,CAACG,8BAAU,CAACD,QAAQ,CAACL,KAAK,CAAC,EAAE;MACnE,MAAMO,MAAM,GAAGP,KAAK,CAACK,QAAQ,CAAC,QAAQ,CAAC,GAAGhD,WAAW,GAAGD,KAAK;MAE7DmD,MAAM,CAACP,KAAK,EAAE;QACZ,GAAGL,KAAK;QACRa,OAAO,EAAEnC,KAAK,CAACG,EAAE;QACjBC,UAAU;QACVC,MAAM;QACN+B,MAAM,EAAEvD,MAAM,CAACuD,MAAM;QACrB9B,OAAO;QACPC;MACF,CAAC,CAAC;IACJ,CAAC;IAED8B,kBAAK,CAACC,SAAS,CAACC,eAAgB,CAACC,OAAO,EAAEpB,aAAa,CAAC;IAExD,OAAO,MAAMiB,kBAAK,CAACI,WAAW,CAACF,eAAgB,CAACC,OAAO,EAAEpB,aAAa,CAAC;IACvE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAZ,gBAAS,EAAC,MAAM;IACd,IAAIhB,WAAW,EAAE;IAEjB,MAAMkD,QAAQ,GAAGC,WAAW,CAAC,YAAY;MACvClE,OAAO,KAAKmE,SAAS,IAAInE,OAAO,EAAE;MAClC,MAAMoE,eAAe,GAAG,IAAAlD,uBAAc,EAAClB,OAAO,IAAIJ,WAAW,CAAC;MAC9D,MAAMyE,KAAK,GAAIC,QAAQ,IAAK,CAACzE,OAAO,EAAEC,GAAG,CAAC,CAACyD,QAAQ,CAACe,QAAQ,CAAC;MAE7D,IACGF,eAAe,KAAKD,SAAS,IAC5BjE,qBAAqB,CAACoC,MAAM,CAAC;QAAA,IAAC;UAAEgC;QAAS,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKF,KAAK,CAACC,QAAQ,CAAC;MAAA,EAAC,CAACE,MAAM,KAAK,CAAC,IAClF,CAACJ,eAAe,IAAIpE,OAAO,GAAGJ,WAAY,EAE3C;MAEF,MAAM6E,WAAW,CACf9D,WAAW,CAAC2B,MAAM,CAAC;QAAA,IAAC;UAAER;QAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzC,IAAI,KAAKjC,OAAO;MAAA,EAAC,EACvDuE,eACF,CAAC;MAED,MAAMM,yBAAyB,GAAG,EAAE;MACpCxE,qBAAqB,CAACyE,OAAO,CAAC,YAAgB;QAAA,IAAfzB,KAAK,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QACvC,MAAM;UAAED;QAAS,CAAC,GAAGpB,KAAK;QAC1B,MAAM0B,OAAO,GAAGR,eAAe,IAAKpE,OAAO,IAAIJ,WAAW,IAAIiF,yCAAqB,CAACtB,QAAQ,CAACe,QAAQ,CAAE;QACvG,MAAMQ,OAAO,GAAGV,eAAe,KAAKD,SAAS,IAAI,CAACE,KAAK,CAACC,QAAQ,CAAC;QAEjE,IAAI,CAACM,OAAO,IAAIE,OAAO,EAAE;UACvBJ,yBAAyB,CAACK,IAAI,CAAC7B,KAAK,CAAC;QACvC,CAAC,MAAM;UACL8B,YAAY,CAAC9B,KAAK,CAAC;UAEnB,IAAI,CAACkB,eAAe,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAC,EAAEI,yBAAyB,CAACK,IAAI,CAAC7B,KAAK,CAAC;QACjF;MACF,CAAC,CAAC;MACFhD,qBAAqB,GAAGwE,yBAAyB;MACjD,IAAIN,eAAe,KAAKD,SAAS,EAAE;QACjCnE,OAAO,GAAGmE,SAAS;QACnBnD,cAAc,CAACoD,eAAe,CAAC;MACjC;IACF,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAMa,aAAa,CAAChB,QAAQ,CAAC;IACpC;EACF,CAAC,EAAE,CAAClD,WAAW,CAAC,CAAC;EAEjB,IAAAgB,gBAAS,EAAC,MAAM;IACd,MAAMmD,WAAW,GAAGA,CAAA,KAAMT,WAAW,CAAC9D,WAAW,CAAC2B,MAAM,CAAC;MAAA,IAAC;QAAER;MAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKzC,IAAI,KAAKjC,OAAO;IAAA,EAAC,CAAC;IAE9F+D,kBAAK,CAACC,SAAS,CAACsB,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAE9C,OAAO,MAAMtB,kBAAK,CAACI,WAAW,CAACmB,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAC7D;EACF,CAAC,EAAE,CAACvE,WAAW,CAAC,CAAC;EAEjB,IAAAoB,gBAAS,EAAC,MAAM;IAAA,IAAAsD,eAAA;IACd,MAAM;MACJC,MAAM;MACN9D,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACgC,OAAO,CAAC,GAAG,EAAE;UAAE6B;QAAQ,CAAC,GAAG,CAAC;MAAE;IACxD,CAAC,GAAG1E,KAAK;IAET,IAAIY,KAAK,IAAIN,KAAK,EAChBsD,WAAW,EAAAY,eAAA,GAAC,IAAAG,wBAAc,EAACF,MAAM,EAAEC,OAAO,GAAG7B,OAAO,GAAGS,SAAS,CAAC,cAAAkB,eAAA,uBAArDA,eAAA,CAAuD/C,MAAM,CAAC;MAAA,IAAC;QAAER;MAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKzC,IAAI,KAAKjC,OAAO;IAAA,EAAC,CAAC;IACjH;EACF,CAAC,EAAE,CAAC4B,KAAK,CAAC,CAAC;EAEX,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,KAAK,EAAE;IAEZlB,cAAc,CAAC0E,OAAO,CAAEzB,KAAK,IAAK8B,YAAY,CAAC9B,KAAK,CAAC,CAAC;IACtDjD,cAAc,GAAG,EAAE;IACnB;EACF,CAAC,EAAE,CAACkB,KAAK,CAAC,CAAC;EAEX,IAAAY,gBAAS,EAAC,MAAM;IACd,MAAMmD,WAAW,GAAGO,KAAA,IAAyB;MAAA,IAAxB;QAAEvC,KAAK;QAAE,GAAGzC;MAAM,CAAC,GAAAgF,KAAA;MACtC,MAAMC,kBAAkB,GAAG,IAAAxE,uBAAc,EAAC,CAAC;MAE3C,MAAMyE,kBAAkB,GAAGhF,WAAW,CACnC6B,GAAG,CAAC;QAAA,IAAC;UAAEV;QAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzC,IAAI;MAAA,EAAC,CAC5BQ,MAAM,CAAER,IAAI,IAAK,EAAE,CAAC4D,kBAAkB,IAAIb,yCAAqB,CAACtB,QAAQ,CAACzB,IAAI,CAAC,CAAC,CAAC,CAChFQ,MAAM,CAAER,IAAI,IAAK4D,kBAAkB,IAAI,CAACE,yCAAqB,CAACrC,QAAQ,CAACzB,IAAI,CAAC,CAAC;MAEhFM,MAAM,CAACC,OAAO,CAACwD,2BAAM,CAAC3C,KAAK,CAAC,CAAC,CAACyB,OAAO,CAACmB,KAAA,IAAyC;QAAA,IAAxC,CAACC,YAAY,EAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC,CAAC,GAAAF,KAAA;QACxE,MAAMxB,QAAQ,GAAG2B,QAAQ,CAACF,YAAY,CAAC;QACvC,MAAMlD,KAAK,GAAG;UAAEmD,QAAQ;UAAE9C,KAAK;UAAEoB,QAAQ;UAAE7D;QAAM,CAAC;QAElD,IACE,CAACiF,kBAAkB,KAClB,CAACC,kBAAkB,CAACpC,QAAQ,CAACe,QAAQ,CAAC,IAAKjD,KAAK,CAACmD,MAAM,GAAG,CAAC,IAAI,CAACnD,KAAK,CAACkC,QAAQ,CAACe,QAAQ,CAAE,CAAC,EAC3F;UACA,IAAItE,OAAO,KAAKmE,SAAS,IAAIhD,KAAK,IAAI0D,yCAAqB,CAACtB,QAAQ,CAACe,QAAQ,CAAC,EAAEU,YAAY,CAACnC,KAAK,CAAC,CAAC,KAC/F,IAAI,CAAC3C,qBAAqB,CAACgG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACjD,KAAK,KAAKA,KAAK,IAAIiD,IAAI,CAAC7B,QAAQ,KAAKA,QAAQ,CAAC,EAAE;YAClGpE,qBAAqB,CAAC6E,IAAI,CAAClC,KAAK,CAAC;UACnC;QACF,CAAC,MAAM,IAAI1B,KAAK,EAAE6D,YAAY,CAACnC,KAAK,CAAC,CAAC,KACjC5C,cAAc,CAAC8E,IAAI,CAAClC,KAAK,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC;IAEDT,MAAM,CAACgE,IAAI,CAACP,2BAAM,CAAC,CAAClB,OAAO,CAAEzB,KAAK,IAAKU,kBAAK,CAACC,SAAS,CAACX,KAAK,EAAEgC,WAAW,CAAC,CAAC;IAE3E,OAAO,MAAM9C,MAAM,CAACgE,IAAI,CAACP,2BAAM,CAAC,CAAClB,OAAO,CAAEzB,KAAK,IAAKU,kBAAK,CAACI,WAAW,CAACd,KAAK,EAAEgC,WAAW,CAAC,CAAC;IAC1F;EACF,CAAC,EAAE,CAAC9E,MAAM,EAAEe,KAAK,EAAEN,KAAK,CAAC,CAAC;EAE1B,MAAMmE,YAAY,GAAG,SAAAA,CAAA,EAA+C;IAAA,IAA9C;MAAEV,QAAQ;MAAE0B,QAAQ;MAAEvF,KAAK;MAAEyC;IAAM,CAAC,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;IAC7D,MAAMe,MAAM,GAAG3E,WAAW,CAAC0F,IAAI,CAACC,KAAA;MAAA,IAAC;QAAExE;MAAK,CAAC,GAAAwE,KAAA;MAAA,OAAKxE,IAAI,KAAKwC,QAAQ;IAAA,EAAC;IAChE,MAAMiC,QAAQ,GAAGP,QAAQ,CAAC;MAAE,GAAGvF,KAAK;MAAE,GAAG6E,MAAM;MAAElF,MAAM;MAAES;IAAM,CAAC,CAAC;IACjE,IAAI,CAAC0F,QAAQ,EAAE;IAEf,MAAMC,KAAK,mBAAAC,MAAA,CAAS,IAAAC,4BAAmB,EAACpC,QAAQ,CAAC,OAAAmC,MAAA,CAAIvD,KAAK,CAAE;IAC5D;IACAqD,QAAQ,CAACI,IAAI,GAAGJ,QAAQ,CAACI,IAAI,CAAElG,KAAK,IAAKmG,OAAO,CAACC,GAAG,CAACL,KAAK,EAAE/F,KAAK,CAAC,CAAC,GAAGmG,OAAO,CAACC,GAAG,CAACL,KAAK,EAAED,QAAQ,CAAC;IAElG,IAAIjC,QAAQ,KAAKxE,GAAG,EAAE;MACpB2E,WAAW,CACT9D,WAAW,CAAC2B,MAAM,CAAC;QAAA,IAAC;UAAER;QAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzC,IAAI,KAAKjC,OAAO;MAAA,EAAC,EACvDkB,WACF,CAAC;IACH;EACF,CAAC;EAED,MAAM0D,WAAW,GAAG,eAAAA,CAAA,EAA2D;IAAA,IAApD9D,WAAW,GAAA4D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,EAAE;IAAA,IAAEuC,eAAe,GAAAvC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAGxD,WAAW;IACxE,MAAMgG,gBAAgB,GAAG3E,MAAM,CAACgE,IAAI,CAAC1F,UAAU,CAAC;IAEhD,MAAMsG,OAAO,GAAG,EAAE;IAClBrG,WAAW,CACR2B,MAAM,CAAC;MAAA,IAAC;QAAER;MAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKuC,eAAe,KAAK,IAAI,IAAI,CAAClB,yCAAqB,CAACrC,QAAQ,CAACzB,IAAI,CAAC;IAAA,EAAC,CAC5F6C,OAAO,CAAC,YAAkD;MAAA,IAAjD;QAAE7C,IAAI;QAAEmF,SAAS,EAAEC,aAAa,GAAG;MAAG,CAAC,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MACpD,MAAM;QAAE7D,UAAU,GAAG,EAAE;QAAEyG,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;QAAEC,IAAI,GAAG;MAAM,CAAC,GAAGC,4BAAO,CAACvF,IAAI,CAAC,IAAI,CAAC,CAAC;MAE9E,IAAIpB,UAAU,CAAC8D,MAAM,KAAK,CAAC,IAAI9D,UAAU,CAACwF,IAAI,CAAEC,IAAI,IAAKY,gBAAgB,CAACxD,QAAQ,CAAC4C,IAAI,CAAC,CAAC,EAAE;QACzF,MAAMc,SAAS,GAAGG,IAAI,GAAG,CAACF,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGA,aAAa;QAC3DF,OAAO,CAACjC,IAAI,CACV,GAAGkC,SAAS,CAACzE,GAAG,CAAC;UAAA,IAAC8C,MAAM,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;UAAA,IAAE+C,KAAK,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAJ,SAAA;UAAA,OAAM;YACxCoD,MAAM,iBAAAd,MAAA,CAAiB,IAAAC,4BAAmB,EAAC5E,IAAI,CAAC,CAAE;YAClDJ,EAAE,EAAE4F,KAAK,GAAG,CAAC;YACb,GAAGH,IAAI,CAAC;cAAE,GAAG7B,MAAM;cAAE/D,KAAK;cAAEwF;YAAiB,CAAC,CAAC;YAC/CjF;UACF,CAAC;QAAA,CAAC,CACJ,CAAC;MACH;IACF,CAAC,CAAC;IAEJV,QAAQ,CAAC,KAAK,CAAC;IACf,MAAMoG,OAAO,CAACC,GAAG,CAACT,OAAO,CAACxE,GAAG,CAAE8C,MAAM,IAAK,IAAAoC,oBAAU,EAACpC,MAAM,CAAC,CAAC,CAAC;IAC9DhE,QAAQ,CAAC0F,OAAO,CAACxE,GAAG,CAAC;MAAA,IAAC;QAAEV;MAAK,CAAC,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKzC,IAAI;IAAA,EAAC,CAAC;IAC9CV,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAACuG,OAAA,CAAAxH,kBAAA,GAAAA,kBAAA"}
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","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","loadScripts","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","handleEvent","EVENT","CORE_READY","_getPerformance","config","isHotel","getPerformance","_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","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 { EVENT, 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) 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 handleEvent = () => loadScripts(performance.filter(({ type } = {}) => type !== COMPARE));\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = 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)));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.SCRIPTS = void 0;
7
7
  var _helpers = require("./helpers");
8
8
  var _Core = require("../../Core.constants");
9
- var _helpers2 = require("../../helpers");
10
9
  const SCRIPTS = exports.SCRIPTS = {
11
10
  [_Core.PERFORMANCE.AFFILIRED]: {
12
11
  components: ['booking'],
@@ -61,7 +60,6 @@ const SCRIPTS = exports.SCRIPTS = {
61
60
  init: () => ({
62
61
  src: 'https://static.hotelmonitor.info/CmprmInit-min.js',
63
62
  onLoad: () => {
64
- window.Mirai.urlParameters = (0, _helpers2.fetchUrlParams)(location.search);
65
63
  document.addEventListener('CmprmInitLoaded', window.CmprmInit.InitMirai, false);
66
64
  }
67
65
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","_helpers2","SCRIPTS","exports","PERFORMANCE","AFFILIRED","components","init","src","once","ANALYTICS","idAnalytics","arguments","length","undefined","concat","onLoad","window","dataLayer","gtag","push","Date","linker","accept_incoming","BING","_ref","idBing","uetq","UET","ti","q","COMPARE","Mirai","urlParameters","fetchUrlParams","location","search","document","addEventListener","CmprmInit","InitMirai","GOOGLE_ADS","cookiePrefix","idAdwords","loadedComponents","conversion_cookie_prefix","allow_enhanced_conversions","includes","GTM","idGTM","id","dataLayerPush","event","getTime","FACEBOOK","MIRAI","hotel","THE_HOTEL_NETWORK","_ref2"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.scripts.js"],"sourcesContent":["import { dataLayerPush } from './helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\n\nconst SCRIPTS = {\n [PERFORMANCE.AFFILIRED]: {\n components: ['booking'],\n init: () => ({\n src: 'https://scripts.affilired.com/v2/tracking.php',\n }),\n once: true,\n },\n\n [PERFORMANCE.ANALYTICS]: {\n init: ({ idAnalytics } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=${idAnalytics}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n window.gtag('config', idAnalytics, { linker: { accept_incoming: true } });\n },\n }),\n },\n\n [PERFORMANCE.BING]: {\n components: ['booking'],\n init: ({ idBing }) => ({\n src: '//bat.bing.com/bat.js',\n onLoad: () => {\n // eslint-disable-next-line no-undef\n window.uetq = new UET({ ti: idBing, q: window.uetq || [] });\n window.uetq.push('pageLoad');\n },\n }),\n },\n\n [PERFORMANCE.COMPARE]: {\n components: ['rates', 'checkout'],\n init: () => ({\n src: 'https://static.hotelmonitor.info/CmprmInit-min.js',\n onLoad: () => {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n document.addEventListener('CmprmInitLoaded', window.CmprmInit.InitMirai, false);\n },\n }),\n once: true,\n },\n\n [PERFORMANCE.GOOGLE_ADS]: {\n init: ({ cookiePrefix, idAdwords, loadedComponents = [] } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=AW-${idAdwords}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('config', `AW-${idAdwords}`, {\n conversion_cookie_prefix: cookiePrefix,\n allow_enhanced_conversions: loadedComponents.includes('booking'),\n });\n },\n }),\n },\n\n [PERFORMANCE.GTM]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ idGTM: id } = {}) => ({\n src: `https://www.googletagmanager.com/gtm.js?id=${id}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n dataLayerPush({ event: 'gtm.js', 'gtm.start': new Date().getTime() });\n },\n }),\n },\n\n [PERFORMANCE.FACEBOOK]: {\n components: ['rates', 'checkout', 'booking'],\n },\n\n [PERFORMANCE.MIRAI]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ hotel: { id } = {} } = {}) => ({\n src: `https://metas.mirai.com/connectivity/gtag/b2c?hotelId=${id}`,\n }),\n once: true,\n },\n\n [PERFORMANCE.THE_HOTEL_NETWORK]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ id = '7' }) => ({\n src: `https://www.thehotelsnetwork.com/js/hotel_price_widget.js?partnership_id=${id}`,\n }),\n },\n};\n\nexport { SCRIPTS };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceManager.scripts.js","names":["_helpers","require","_Core","SCRIPTS","exports","PERFORMANCE","AFFILIRED","components","init","src","once","ANALYTICS","idAnalytics","arguments","length","undefined","concat","onLoad","window","dataLayer","gtag","push","Date","linker","accept_incoming","BING","_ref","idBing","uetq","UET","ti","q","COMPARE","document","addEventListener","CmprmInit","InitMirai","GOOGLE_ADS","cookiePrefix","idAdwords","loadedComponents","conversion_cookie_prefix","allow_enhanced_conversions","includes","GTM","idGTM","id","dataLayerPush","event","getTime","FACEBOOK","MIRAI","hotel","THE_HOTEL_NETWORK","_ref2"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.scripts.js"],"sourcesContent":["import { dataLayerPush } from './helpers';\nimport { PERFORMANCE } from '../../Core.constants';\n\nconst SCRIPTS = {\n [PERFORMANCE.AFFILIRED]: {\n components: ['booking'],\n init: () => ({\n src: 'https://scripts.affilired.com/v2/tracking.php',\n }),\n once: true,\n },\n\n [PERFORMANCE.ANALYTICS]: {\n init: ({ idAnalytics } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=${idAnalytics}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n window.gtag('config', idAnalytics, { linker: { accept_incoming: true } });\n },\n }),\n },\n\n [PERFORMANCE.BING]: {\n components: ['booking'],\n init: ({ idBing }) => ({\n src: '//bat.bing.com/bat.js',\n onLoad: () => {\n // eslint-disable-next-line no-undef\n window.uetq = new UET({ ti: idBing, q: window.uetq || [] });\n window.uetq.push('pageLoad');\n },\n }),\n },\n\n [PERFORMANCE.COMPARE]: {\n components: ['rates', 'checkout'],\n init: () => ({\n src: 'https://static.hotelmonitor.info/CmprmInit-min.js',\n onLoad: () => {\n document.addEventListener('CmprmInitLoaded', window.CmprmInit.InitMirai, false);\n },\n }),\n once: true,\n },\n\n [PERFORMANCE.GOOGLE_ADS]: {\n init: ({ cookiePrefix, idAdwords, loadedComponents = [] } = {}) => ({\n src: `https://www.googletagmanager.com/gtag/js?id=AW-${idAdwords}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function () {\n window.dataLayer.push(arguments);\n };\n window.gtag('config', `AW-${idAdwords}`, {\n conversion_cookie_prefix: cookiePrefix,\n allow_enhanced_conversions: loadedComponents.includes('booking'),\n });\n },\n }),\n },\n\n [PERFORMANCE.GTM]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ idGTM: id } = {}) => ({\n src: `https://www.googletagmanager.com/gtm.js?id=${id}`,\n onLoad: () => {\n window.dataLayer = window.dataLayer || [];\n dataLayerPush({ event: 'gtm.js', 'gtm.start': new Date().getTime() });\n },\n }),\n },\n\n [PERFORMANCE.FACEBOOK]: {\n components: ['rates', 'checkout', 'booking'],\n },\n\n [PERFORMANCE.MIRAI]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ hotel: { id } = {} } = {}) => ({\n src: `https://metas.mirai.com/connectivity/gtag/b2c?hotelId=${id}`,\n }),\n once: true,\n },\n\n [PERFORMANCE.THE_HOTEL_NETWORK]: {\n components: ['finder', 'rates', 'checkout', 'booking'],\n init: ({ id = '7' }) => ({\n src: `https://www.thehotelsnetwork.com/js/hotel_price_widget.js?partnership_id=${id}`,\n }),\n },\n};\n\nexport { SCRIPTS };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.26",
3
+ "version": "0.4.27",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",