@mirai/core 0.3.417 → 0.3.419

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.
Files changed (25) hide show
  1. package/build/components/Checkout/partials/Checkout.Confirmation.js +3 -0
  2. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  3. package/build/components/Rates/components/Filters/Filters.js +1 -1
  4. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  5. package/build/components/Rates/components/Item/Item.Preview.js +2 -7
  6. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  7. package/build/components/Rates/components/Item/Item.Rates.js +1 -6
  8. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  9. package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
  10. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  11. package/build/components/__shared__/BookingSummary/BookingSummary.js +25 -16
  12. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  13. package/build/components/__shared__/BookingTable/BookingTable.js +11 -0
  14. package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
  15. package/build/components/__shared__/BookingTerms/BookingTerms.js +21 -1
  16. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  17. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +24 -1
  18. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
  19. package/build/components/__shared__/Payment/Payment.js +22 -2
  20. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  21. package/build/contexts/PerfomanceManager/PerfomanceManager.js +2 -1
  22. package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
  23. package/build/index.js +1 -1
  24. package/build/index.js.map +1 -1
  25. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Payment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Payment","_Payment2","style","_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","Payment","_ref","children","config","currency","error","info","methods","showErrors","onChange","onError","others","isDesktop","isMobile","useDevice","currencyFormat","dateFormat","translate","useLocale","useStore","cardType","setCardType","useState","method","setMethod","undefined","useEffect","payment","handleChange","values","type","next","testId","standalone","availableMethods","filter","item","METHOD","createElement","View","role","tag","row","className","styles","container","Text","bold","headline","header","L10N","LABEL_PAYMENT_METHODS","map","selected","caption","getCaption","component","getComponent","image","getImage","time","Pressable","disabled","onPress","concat","Radio","checked","name","value","radio","title","alt","split","join","src","process","env","SERVICE_STATIC","URL_IMAGES","CARD","CARD_PREPAY","PCIPROXY","TPV","includes","cards","card","toLowerCase","content","small","withComponent","amount","date","DATE_FORMAT","day","LABEL_DAY","hour","LABEL_HOUR","React","exports","displayName","propTypes","PropTypes","any","shape","arrayOf","string","provider","oneOf","PROVIDER","showCVV","bool","object","cardValidation","instanceOf","Date","number","array","isRequired","func"],"sources":["../../../../src/components/__shared__/Payment/Payment.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Pressable, Radio, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption, getComponent, getImage } from './helpers';\nimport { DATE_FORMAT, METHOD, PROVIDER, URL_IMAGES } from './Payment.constants';\nimport { L10N } from './Payment.l10n';\nimport * as style from './Payment.module.css';\n\nconst Payment = ({\n children,\n config = {},\n currency,\n error = {},\n info = {},\n methods = [],\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { currencyFormat, dateFormat, translate } = useLocale();\n const { set } = useStore();\n\n const [cardType, setCardType] = useState();\n const [method, setMethod] = useState(methods.length > 0 ? methods[0] : undefined);\n\n useEffect(() => {\n onChange({ method });\n set({ payment: { method } });\n onError({});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [method]);\n\n const handleChange = (values = {}) => {\n const { type } = values;\n type !== cardType && setCardType(type);\n const next = { method, ...values };\n onChange(next);\n set({ payment: { ...next } });\n };\n\n const { testId = 'payments' } = others;\n const standalone = methods.length === 1;\n const availableMethods = methods.filter((item) => !!METHOD[item]);\n\n return (\n <View {...others} role=\"payments\" tag=\"payment\" row={false} className={styles(style.container, others.className)}>\n {availableMethods.length > 1 && (\n <View className={style.item}>\n <Text bold headline={!isMobile} className={style.header}>\n {translate(L10N.LABEL_PAYMENT_METHODS)}\n </Text>\n </View>\n )}\n {availableMethods.map((item) => {\n const selected = method === item;\n const caption = selected ? getCaption({ method, ...info, ...config }) : undefined;\n const component = selected ? getComponent({ method: item, ...info, ...config }) : undefined;\n const image = getImage({ method: item });\n const { time = {} } = info || {};\n\n return (\n <View key={item} className={style.item}>\n <Pressable\n disabled={selected || standalone}\n onPress={() => setMethod(item)}\n className={styles(style.header, selected && style.selected)}\n testId={testId ? `${testId}-item-${item}` : undefined}\n >\n {!standalone && <Radio checked={selected} name=\"method\" value={item} className={style.radio} />}\n <Text\n bold\n headline={isDesktop && standalone}\n className={styles(style.title, selected && style.selected)}\n testId={testId ? `${testId}-text-${item}` : undefined}\n >\n {translate(L10N[`LABEL_${item}`])}\n </Text>\n\n {image && (\n <View\n alt={`${item?.split('_').join(' ')}`}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/${image}`}\n tag=\"img\"\n className={style.image}\n />\n )}\n\n {[METHOD.CARD, METHOD.CARD_PREPAY, METHOD.PCIPROXY, METHOD.TPV].includes(item) &&\n (config.cards || []).map((card) => (\n <View\n alt={card}\n key={card}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/cards/${card.toLowerCase()}.png`}\n tag=\"img\"\n className={styles(style.image, selected && cardType && card !== cardType && style.disabled)}\n />\n ))}\n </Pressable>\n\n {selected && (\n <View className={style.content} testId={testId ? `${testId}-container-${item}` : undefined}>\n {caption && (\n <Text small className={styles(style.caption, component && style.withComponent)}>\n {translate(caption, {\n amount: currencyFormat({ currency, value: info?.amount }),\n date: dateFormat(info?.date, DATE_FORMAT),\n day: translate(L10N.LABEL_DAY, { value: time.value }),\n hour: translate(L10N.LABEL_HOUR, { value: time.value }),\n type: time.type,\n })}\n </Text>\n )}\n\n {component &&\n React.createElement(component, {\n error,\n showErrors,\n ...others,\n ...config,\n onChange: handleChange,\n onError,\n })}\n </View>\n )}\n </View>\n );\n })}\n\n {children && <View className={style.children}>{children}</View>}\n </View>\n );\n};\n\nPayment.displayName = 'Mirai:Core:Payment';\n\nPayment.propTypes = {\n children: PropTypes.any,\n config: PropTypes.shape({\n cards: PropTypes.arrayOf(PropTypes.string),\n provider: PropTypes.oneOf(Object.values(PROVIDER)),\n showCVV: PropTypes.bool,\n }),\n currency: PropTypes.string,\n error: PropTypes.object,\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n time: PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n }),\n methods: PropTypes.array.isRequired,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Payment };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Payment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Payment","_Payment2","style","_helpers2","_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","timeoutChange","Payment","_ref","children","config","currency","error","info","methods","showErrors","onChange","onError","others","isDesktop","isMobile","useDevice","currencyFormat","dateFormat","translate","useLocale","value","components","useStore","cardType","setCardType","useState","method","setMethod","undefined","useEffect","payment","handleChange","values","type","next","metrics","keys","clearTimeout","setTimeout","Event","publish","EVENT","METRICS","id","concat","SUBMIT_DELAY","handleChangeMethod","nextMethod","testId","standalone","availableMethods","filter","item","METHOD","checkout","booking","createElement","View","role","tag","row","className","styles","container","Text","bold","headline","header","L10N","LABEL_PAYMENT_METHODS","map","selected","caption","getCaption","component","getComponent","image","getImage","time","Pressable","disabled","onPress","Radio","checked","name","radio","title","alt","split","join","src","process","env","SERVICE_STATIC","URL_IMAGES","CARD","CARD_PREPAY","PCIPROXY","TPV","includes","cards","card","toLowerCase","content","small","withComponent","amount","date","DATE_FORMAT","day","LABEL_DAY","hour","LABEL_HOUR","React","exports","displayName","propTypes","PropTypes","any","shape","arrayOf","string","provider","oneOf","PROVIDER","showCVV","bool","object","cardValidation","instanceOf","Date","number","array","isRequired","func"],"sources":["../../../../src/components/__shared__/Payment/Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Pressable, Radio, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption, getComponent, getImage } from './helpers';\nimport { DATE_FORMAT, METHOD, PROVIDER, URL_IMAGES } from './Payment.constants';\nimport { L10N } from './Payment.l10n';\nimport * as style from './Payment.module.css';\nimport { EVENT, SUBMIT_DELAY } from '../../helpers';\n\nlet timeoutChange;\n\nconst Payment = ({\n children,\n config = {},\n currency,\n error = {},\n info = {},\n methods = [],\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { currencyFormat, dateFormat, translate } = useLocale();\n const {\n set,\n value: { components = {} },\n } = useStore();\n\n const [cardType, setCardType] = useState();\n const [method, setMethod] = useState(methods.length > 0 ? methods[0] : undefined);\n\n useEffect(() => {\n onChange({ method });\n set({ payment: { method } });\n onError({});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [method]);\n\n const handleChange = (values = {}) => {\n const { type } = values;\n\n type !== cardType && setCardType(type);\n const next = { method, ...values };\n onChange(next);\n set({ payment: { ...next } });\n\n if (metrics && Object.keys(values).length > 0) {\n clearTimeout(timeoutChange);\n timeoutChange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `${metrics}:PAYMENT:FORM`, method }),\n SUBMIT_DELAY,\n );\n }\n };\n\n const handleChangeMethod = (nextMethod) => {\n setMethod(nextMethod);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:PAYMENT:CHANGE_METHOD`, method: nextMethod });\n };\n\n const { testId = 'payments' } = others;\n const standalone = methods.length === 1;\n const availableMethods = methods.filter((item) => !!METHOD[item]);\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n\n return (\n <View {...others} role=\"payments\" tag=\"payment\" row={false} className={styles(style.container, others.className)}>\n {availableMethods.length > 1 && (\n <View className={style.item}>\n <Text bold headline={!isMobile} className={style.header}>\n {translate(L10N.LABEL_PAYMENT_METHODS)}\n </Text>\n </View>\n )}\n {availableMethods.map((item) => {\n const selected = method === item;\n const caption = selected ? getCaption({ method, ...info, ...config }) : undefined;\n const component = selected ? getComponent({ method: item, ...info, ...config }) : undefined;\n const image = getImage({ method: item });\n const { time = {} } = info || {};\n\n return (\n <View key={item} className={style.item}>\n <Pressable\n disabled={selected || standalone}\n onPress={() => handleChangeMethod(item)}\n className={styles(style.header, selected && style.selected)}\n testId={testId ? `${testId}-item-${item}` : undefined}\n >\n {!standalone && <Radio checked={selected} name=\"method\" value={item} className={style.radio} />}\n <Text\n bold\n headline={isDesktop && standalone}\n className={styles(style.title, selected && style.selected)}\n testId={testId ? `${testId}-text-${item}` : undefined}\n >\n {translate(L10N[`LABEL_${item}`])}\n </Text>\n\n {image && (\n <View\n alt={`${item?.split('_').join(' ')}`}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/${image}`}\n tag=\"img\"\n className={style.image}\n />\n )}\n\n {[METHOD.CARD, METHOD.CARD_PREPAY, METHOD.PCIPROXY, METHOD.TPV].includes(item) &&\n (config.cards || []).map((card) => (\n <View\n alt={card}\n key={card}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/cards/${card.toLowerCase()}.png`}\n tag=\"img\"\n className={styles(style.image, selected && cardType && card !== cardType && style.disabled)}\n />\n ))}\n </Pressable>\n\n {selected && (\n <View className={style.content} testId={testId ? `${testId}-container-${item}` : undefined}>\n {caption && (\n <Text small className={styles(style.caption, component && style.withComponent)}>\n {translate(caption, {\n amount: currencyFormat({ currency, value: info?.amount }),\n date: dateFormat(info?.date, DATE_FORMAT),\n day: translate(L10N.LABEL_DAY, { value: time.value }),\n hour: translate(L10N.LABEL_HOUR, { value: time.value }),\n type: time.type,\n })}\n </Text>\n )}\n\n {component &&\n React.createElement(component, {\n error,\n showErrors,\n ...others,\n ...config,\n onChange: handleChange,\n onError,\n })}\n </View>\n )}\n </View>\n );\n })}\n\n {children && <View className={style.children}>{children}</View>}\n </View>\n );\n};\n\nPayment.displayName = 'Mirai:Core:Payment';\n\nPayment.propTypes = {\n children: PropTypes.any,\n config: PropTypes.shape({\n cards: PropTypes.arrayOf(PropTypes.string),\n provider: PropTypes.oneOf(Object.values(PROVIDER)),\n showCVV: PropTypes.bool,\n }),\n currency: PropTypes.string,\n error: PropTypes.object,\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n time: PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n }),\n methods: PropTypes.array.isRequired,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Payment };\n"],"mappings":"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"}
@@ -71,7 +71,8 @@ const PerfomanceManager = () => {
71
71
  if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
72
72
  const event = id.toUpperCase().trim();
73
73
  const [metric] = event.split(':');
74
- if (bannedMetrics.includes(metric)) return;
74
+ const KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];
75
+ if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;
75
76
  const method = event.includes('RENDER') ? trackRender : track;
76
77
  method(event, {
77
78
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","metrics","ServiceFeatures","get","bannedMetrics","_ref3","_ref4","key","handleMetrics","_ref5","props","window","IS_PLAYWRIGHT","location","host","toUpperCase","trim","metric","split","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\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)) 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 Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","metrics","ServiceFeatures","get","bannedMetrics","_ref3","_ref4","key","handleMetrics","_ref5","props","window","IS_PLAYWRIGHT","location","host","toUpperCase","trim","metric","split","KPI_EVENTS","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\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 const KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];\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 Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":"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"}
package/build/index.js CHANGED
@@ -104,7 +104,7 @@ window.Mirai.core = async () => {
104
104
 
105
105
  // 12. Render components
106
106
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react.default.StrictMode, null, /*#__PURE__*/_react.default.createElement(_dataSources.MetricsProvider, {
107
- token: process.env.METRICS
107
+ token: isProduction ? process.env.METRICS : undefined
108
108
  }, /*#__PURE__*/_react.default.createElement(_dataSources.StoreProvider, {
109
109
  value: store
110
110
  }, /*#__PURE__*/_react.default.createElement(_contexts.PerfomanceManager, null), /*#__PURE__*/_react.default.createElement(_Core.Core, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerfomanceManager","EventManager","Sentry","SENTRY","loadSentry","setUser","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerfomanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 2. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 6. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 7. Analize id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 9. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 10. Initialize features\n await ServiceFeatures.initialize();\n\n // 11. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 12. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={process.env.METRICS}>\n <StoreProvider value={store}>\n <PerfomanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 13. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n if (session && Sentry) Sentry.setUser(session);\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":";;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAcA,IAAAS,QAAA,GAAAT,OAAA;AAAgD,SAAAG,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAvBhD;;AAyBAG,MAAM,CAACC,KAAK,GAAG;EACb,GAAGD,MAAM,CAACC,KAAK;EACfC,UAAU,EAAEC,SAAS;EACrBC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ;EACjCC,KAAK,EAALA,kBAAK;EACLC,QAAQ,EAAE;IACRC,OAAO,EAAEL,OAAO,CAACC,GAAG,CAACK,eAAe;IACpCC,IAAI,EAAEP,OAAO,CAACC,GAAG,CAACO,YAAY;IAC9BC,UAAU,EAAET,OAAO,CAACC,GAAG,CAACS,kBAAkB;IAC1CC,MAAM,EAAEX,OAAO,CAACC,GAAG,CAACW,cAAc;IAClCC,MAAM,EAAEb,OAAO,CAACC,GAAG,CAACa,cAAc;IAClCC,IAAI,EAAEf,OAAO,CAACC,GAAG,CAACe;EACpB,CAAC;EACDC,OAAO,EAAPA;AACF,CAAC;AAEDvB,MAAM,CAACC,KAAK,CAACuB,IAAI,GAAG,YAAY;EAC9B,MAAMC,YAAY,GAAGnB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;EAC1D,MAAMkB,aAAa,GAAGpB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;EAC5D,MAAMmB,eAAe,GAAGrB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,eAAe;EAChE,MAAMoB,GAAG,MAAAC,MAAA,CAAMJ,YAAY,GAAG,IAAI,GAAGE,eAAe,GAAG,IAAI,GAAGD,aAAa,GAAG,IAAI,GAAG,IAAI,OAAAG,MAAA,CAAIC,aAAI,QAAAD,MAAA,CAAKN,gBAAO,CAAE;EAE/GQ,OAAO,CAACH,GAAG,CAACA,GAAG,EAAE,aAAa,CAAC;;EAE/B;EACA,MAAMI,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;EACjD,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAACC,MAAM,CAACC,MAAM,CAACC,aAAM,CAAC,CAAC;EACnD,IAAIC,OAAO,GAAG,IAAAC,qBAAY,EAACV,SAAS,CAAC;;EAErC;EACA,MAAM3B,WAAW,GAAG2B,SAAS,CAACzB,GAAG,IAAIkB,YAAY,GAAG,IAAAkB,wBAAe,EAACX,SAAS,CAACzB,GAAG,CAAC,GAAGJ,SAAS;EAC9F,IAAIE,WAAW,EAAE;;EAEjB;EACA,MAAMuC,QAAQ,GAAG,IAAAC,qBAAY,EAAC;IAAEb;EAAU,CAAC,CAAC;EAC5C,IAAI,CAACY,QAAQ,EAAE;;EAEf;EACA,MAAM1C,UAAU,GAAG,IAAA4C,uBAAc,EAAC,CAAC;EACnC,IAAI,CAAC5C,UAAU,CAAC6C,MAAM,EAAE;EACxB/C,MAAM,CAACC,KAAK,GAAG;IAAE,GAAGD,MAAM,CAACC,KAAK;IAAEC;EAAW,CAAC;;EAE9C;EACA,IAAA8C,cAAK,EAAChB,SAAS,CAAC;EAEhB,MAAMiB,cAAc,GAAG,IAAAC,kBAAS,EAACN,QAAQ,EAAEZ,SAAS,CAAC;;EAErD;EACAhC,MAAM,IACJ,CAACA,MAAM,CAACmD,aAAa,IACrBC,iBAAQ,CAACC,MAAM,eACbhE,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAACjE,MAAA,CAAAU,OAAK,CAACwD,UAAU,qBACflE,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAACpE,YAAA,CAAAsE,aAAa;IAACC,KAAK,EAAE;MAAEC,EAAE,EAAEd,QAAQ,CAACc,EAAE;MAAEjB,OAAO;MAAET,SAAS;MAAE,GAAGiB;IAAe;EAAE,gBAC/E5D,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAAC7D,KAAA,CAAAkE,IAAI;IAAOzD,UAAU;IAAI0D,QAAQ;EAAA,CAAE,CACvB,CACC,CAAC,EACnBhB,QAAQ,CAACiB,EACX,CAAC;;EAEH;EACA,MAAMzD,MAAM,GAAG,MAAM,IAAA0D,oBAAW,EAAC;IAAE,GAAGlB,QAAQ;IAAEmB,QAAQ,EAAEd,cAAc,CAACc;EAAS,CAAC,CAAC;EACpF,IAAI,CAAC3D,MAAM,EAAE;EACbJ,MAAM,CAACC,KAAK,CAACG,MAAM,GAAGA,MAAM;;EAE5B;EACA,IAAIqC,OAAO,IAAI,EAAE,MAAM,IAAAuB,qBAAY,EAACpB,QAAQ,CAACc,EAAE,EAAEjB,OAAO,EAAErC,MAAM,CAAC,CAAC,EAAEqC,OAAO,GAAGtC,SAAS;;EAEvF;EACA,MAAM8D,KAAK,GAAG,MAAM,IAAAC,yBAAgB,EAAC;IAAEhE,UAAU;IAAEE,MAAM;IAAEgC,OAAO;IAAEQ,QAAQ;IAAEH,OAAO;IAAET;EAAU,CAAC,CAAC;;EAEnG;EACA,MAAMmC,yBAAe,CAACC,UAAU,CAAC,CAAC;;EAElC;EACA,IAAI,CAACC,2BAAiB,CAACC,KAAK,CAACL,KAAK,CAACM,MAAM,CAAC,EAAE,MAAMF,2BAAiB,CAACG,GAAG,CAACP,KAAK,CAACM,MAAM,EAAE,KAAK,CAAC;;EAE5F;EACAnB,iBAAQ,CAACC,MAAM,eACbhE,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAACjE,MAAA,CAAAU,OAAK,CAACwD,UAAU,qBACflE,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAACpE,YAAA,CAAAuF,eAAe;IAACC,KAAK,EAAEpE,OAAO,CAACC,GAAG,CAACoE;EAAQ,gBAC1CtF,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAACpE,YAAA,CAAAsE,aAAa;IAACC,KAAK,EAAEQ;EAAM,gBAC1B5E,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAAC9D,SAAA,CAAAoF,iBAAiB,MAAE,CAAC,eACrBvF,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAAC7D,KAAA,CAAAkE,IAAI;IAAOzD;EAAU,CAAK,CAAC,eAC5Bb,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAAC9D,SAAA,CAAAqF,YAAY,MAAE,CACF,CACA,CACD,CAAC,EACnBjC,QAAQ,CAACiB,EACX,CAAC;;EAED;EACA,IAAIiB,MAAM,GAAG9E,MAAM,CAACC,KAAK,CAAC6E,MAAM;EAChC,IAAI,CAACA,MAAM,IAAIxE,OAAO,CAACC,GAAG,CAACwE,MAAM,EAAE;IACjCD,MAAM,GAAG,IAAAE,mBAAU,EAAC1E,OAAO,CAACC,GAAG,CAACwE,MAAM,EAAExD,gBAAO,CAAC;IAChDvB,MAAM,CAACC,KAAK,CAAC6E,MAAM,GAAGA,MAAM;EAC9B;EACA,IAAIrC,OAAO,IAAIqC,MAAM,EAAEA,MAAM,CAACG,OAAO,CAACxC,OAAO,CAAC;;EAE9C;EACAzC,MAAM,CAACC,KAAK,CAACiF,KAAK,GAAG,IAAI;EACzBC,UAAU,CAAC,MAAM1E,kBAAK,CAAC2E,OAAO,CAACC,YAAK,CAACC,UAAU,EAAEtF,MAAM,CAACC,KAAK,CAAC,EAAE,CAAC,CAAC;EAClE8B,OAAO,CAACH,GAAG,CAACA,GAAG,EAAE,SAAS,EAAE5B,MAAM,CAACC,KAAK,CAAC;AAC3C,CAAC;AAED,CAAC,YAAY;EACX,MAAMD,MAAM,CAACC,KAAK,CAACuB,IAAI,CAAC,CAAC;EAEzB,MAAM;IAAEtB,UAAU,GAAG,EAAE;IAAEgF;EAAM,CAAC,GAAGlF,MAAM,CAACC,KAAK;EAE/C,IAAIiF,KAAK,IAAIhF,UAAU,CAACqF,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAU,CAAC,GAAAC,SAAA,CAAA1C,MAAA,QAAA0C,SAAA,QAAAtF,SAAA,GAAAsF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACF,SAAS,CAAC,CAACzC,MAAM;EAAA,EAAC,EAAE;IACnH/C,MAAM,CAAC2F,gBAAgB,CAAC,UAAU,EAAGC,KAAK,IAAKA,KAAK,CAACC,SAAS,IAAI7F,MAAM,CAACC,KAAK,CAACuB,IAAI,CAAC,CAAC,CAAC;EACxF;AACF,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerfomanceManager","EventManager","Sentry","SENTRY","loadSentry","setUser","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerfomanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 2. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 6. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 7. Analize id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 9. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 10. Initialize features\n await ServiceFeatures.initialize();\n\n // 11. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 12. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={isProduction ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerfomanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 13. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n if (session && Sentry) Sentry.setUser(session);\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\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.3.417",
3
+ "version": "0.3.419",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",