@mirai/core 0.4.13 → 0.4.15

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 (148) hide show
  1. package/build/Core.constants.js +1 -2
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.js +27 -8
  4. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  5. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +1 -1
  6. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
  7. package/build/components/BannerLoyalty/BannerLoyalty.module.css +13 -0
  8. package/build/components/Chat/Chat.constants.js +4 -1
  9. package/build/components/Chat/Chat.constants.js.map +1 -1
  10. package/build/components/Chat/Chat.js +4 -5
  11. package/build/components/Chat/Chat.js.map +1 -1
  12. package/build/components/Chat/Chat.theme.module.css +1 -1
  13. package/build/components/Chat/__tests__/__snapshots__/Chat.constants.test.js.snap +3 -0
  14. package/build/components/Chat/components/Message/Message.constants.js +4 -7
  15. package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
  16. package/build/components/Finder/Finder.js +6 -11
  17. package/build/components/Finder/Finder.js.map +1 -1
  18. package/build/components/Finder/components/Calendar/Calendar.js +1 -1
  19. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  20. package/build/components/Rates/Rates.Content.js +3 -1
  21. package/build/components/Rates/Rates.Content.js.map +1 -1
  22. package/build/components/Rates/Rates.Footer.js +3 -3
  23. package/build/components/Rates/Rates.Footer.js.map +1 -1
  24. package/build/components/Rates/Rates.Unavailability.js +10 -10
  25. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  26. package/build/components/Rates/Rates.constants.js +3 -2
  27. package/build/components/Rates/Rates.constants.js.map +1 -1
  28. package/build/components/Rates/Rates.js +38 -42
  29. package/build/components/Rates/Rates.js.map +1 -1
  30. package/build/components/Rates/Rates.l10n.js +0 -3
  31. package/build/components/Rates/Rates.l10n.js.map +1 -1
  32. package/build/components/Rates/Rates.module.css +1 -1
  33. package/build/components/Rates/__tests__/__snapshots__/Rates.Content.test.js.snap +18 -3
  34. package/build/components/Rates/__tests__/__snapshots__/Rates.Unavailability.test.js.snap +0 -10
  35. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +22 -3
  36. package/build/components/Rates/components/Filters/Filters.js +2 -2
  37. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  38. package/build/components/Rates/components/Item/Item.Preview.js +23 -2
  39. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  40. package/build/components/Rates/components/Item/Item.Rates.js +12 -1
  41. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  42. package/build/components/Rates/components/Item/Item.js +3 -2
  43. package/build/components/Rates/components/Item/Item.js.map +1 -1
  44. package/build/components/Rates/components/Item/Item.l10n.js +3 -0
  45. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  46. package/build/components/Rates/components/Item/components/{RateDetails/RateDetails.Countdown.js → Countdown/Countdown.js} +5 -3
  47. package/build/components/Rates/components/Item/components/Countdown/Countdown.js.map +1 -0
  48. package/build/components/Rates/components/Item/components/Countdown/Countdown.module.css +8 -0
  49. package/build/components/Rates/components/Item/components/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +3 -0
  50. package/build/components/Rates/components/{ClubRate → Item/components/Countdown}/index.js +4 -4
  51. package/build/components/Rates/components/Item/components/Countdown/index.js.map +1 -0
  52. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +3 -3
  53. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  54. package/build/components/Rates/components/Item/components/Slider/Slider.js +50 -16
  55. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  56. package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js +3 -0
  57. package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js.map +1 -1
  58. package/build/components/Rates/components/Item/components/index.js +11 -0
  59. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  60. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +128 -0
  61. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -0
  62. package/build/components/Rates/components/{ClubRate/ClubRate.l10n.js → ModalClubRate/ModalClubRate.l10n.js} +12 -3
  63. package/build/components/Rates/components/ModalClubRate/ModalClubRate.l10n.js.map +1 -0
  64. package/build/components/Rates/components/{ClubRate/ClubRate.module.css → ModalClubRate/ModalClubRate.module.css} +9 -16
  65. package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +257 -0
  66. package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js +45 -0
  67. package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js.map +1 -0
  68. package/build/components/Rates/components/ModalClubRate/helpers/index.js +17 -0
  69. package/build/components/Rates/components/ModalClubRate/helpers/index.js.map +1 -0
  70. package/build/components/Rates/components/ModalClubRate/index.js +17 -0
  71. package/build/components/Rates/components/ModalClubRate/index.js.map +1 -0
  72. package/build/components/Rates/components/index.js +11 -11
  73. package/build/components/Rates/components/index.js.map +1 -1
  74. package/build/components/Rates/helpers/{getMetaBoard.js → getBoard.js} +8 -8
  75. package/build/components/Rates/helpers/getBoard.js.map +1 -0
  76. package/build/components/Rates/helpers/index.js +11 -11
  77. package/build/components/Rates/helpers/index.js.map +1 -1
  78. package/build/components/Session/Session.Account.js +5 -3
  79. package/build/components/Session/Session.Account.js.map +1 -1
  80. package/build/components/Session/Session.Login.Modal.js +18 -8
  81. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  82. package/build/components/Session/Session.Login.js +1 -0
  83. package/build/components/Session/Session.Login.js.map +1 -1
  84. package/build/components/Session/Session.js +2 -4
  85. package/build/components/Session/Session.js.map +1 -1
  86. package/build/components/Session/Session.l10n.js +4 -1
  87. package/build/components/Session/Session.l10n.js.map +1 -1
  88. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +117 -1072
  89. package/build/components/__shared__/BookingSummary/BookingSummary.js +2 -0
  90. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  91. package/build/components/helpers/ICON.js +3 -1
  92. package/build/components/helpers/ICON.js.map +1 -1
  93. package/build/contexts/PerformanceManager/PerformanceManager.constants.js +66 -2
  94. package/build/contexts/PerformanceManager/PerformanceManager.constants.js.map +1 -1
  95. package/build/contexts/PerformanceManager/PerformanceManager.js +28 -21
  96. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  97. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +9 -5
  98. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
  99. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js +0 -4
  100. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js.map +1 -1
  101. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js +16 -5
  102. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js.map +1 -1
  103. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js +23 -6
  104. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js.map +1 -1
  105. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js +1 -1
  106. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js.map +1 -1
  107. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +10 -1
  108. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
  109. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js +6 -0
  110. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js.map +1 -1
  111. package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js +41 -0
  112. package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js.map +1 -0
  113. package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js +28 -0
  114. package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js.map +1 -0
  115. package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js +70 -0
  116. package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js.map +1 -0
  117. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js +10 -26
  118. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js.map +1 -1
  119. package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js +33 -0
  120. package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js.map +1 -0
  121. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js +11 -0
  122. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js.map +1 -1
  123. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +24 -3
  124. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
  125. package/build/helpers/consolidateStore.js +8 -2
  126. package/build/helpers/consolidateStore.js.map +1 -1
  127. package/build/helpers/getPerformance.js +4 -0
  128. package/build/helpers/getPerformance.js.map +1 -1
  129. package/package.json +1 -1
  130. package/public/index.html +1 -1
  131. package/build/components/Chat/services/Lisa/action.js +0 -28
  132. package/build/components/Chat/services/Lisa/action.js.map +0 -1
  133. package/build/components/Chat/services/Lisa/index.js +0 -17
  134. package/build/components/Chat/services/Lisa/index.js.map +0 -1
  135. package/build/components/Chat/services/Lisa/message.js +0 -26
  136. package/build/components/Chat/services/Lisa/message.js.map +0 -1
  137. package/build/components/Chat/services/Lisa/status.js +0 -13
  138. package/build/components/Chat/services/Lisa/status.js.map +0 -1
  139. package/build/components/Chat/services/Lisa/welcome.js +0 -25
  140. package/build/components/Chat/services/Lisa/welcome.js.map +0 -1
  141. package/build/components/Rates/components/ClubRate/ClubRate.js +0 -100
  142. package/build/components/Rates/components/ClubRate/ClubRate.js.map +0 -1
  143. package/build/components/Rates/components/ClubRate/ClubRate.l10n.js.map +0 -1
  144. package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap +0 -38
  145. package/build/components/Rates/components/ClubRate/index.js.map +0 -1
  146. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js.map +0 -1
  147. package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.Countdown.test.js.snap +0 -3
  148. package/build/components/Rates/helpers/getMetaBoard.js.map +0 -1
@@ -55,6 +55,7 @@ const BookingSummary = _ref => {
55
55
  idchain,
56
56
  idtokenprovider,
57
57
  parties,
58
+ rooms,
58
59
  roomNumberBySelectedRoom
59
60
  } = {}
60
61
  }
@@ -97,6 +98,7 @@ const BookingSummary = _ref => {
97
98
  idchain,
98
99
  idtokenprovider,
99
100
  lang: language,
101
+ cart: rooms.split(',').map(room => room.replace(/\|/g, '--').split(':')[0]).join(','),
100
102
  nights,
101
103
  parties
102
104
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"BookingSummary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingSummary","_BookingSummary2","style","_helpers","_ButtonMore","_PriceBreakdown","_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","BookingSummary","_ref","_ref2","box","children","dataSource","others","isDesktop","isMobile","useDevice","dateFormat","translate","useLocale","value","components","hotel","features","id","language","urlParams","applyClubDiscount","chainSelectorValue","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idchain","idtokenprovider","parties","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","checkIn","checkInTime","checkOut","checkOutTime","currency","details","address","city","country","email","location","name","hotelName","phone","site","nights","handleBack","metrics","Event","publish","EVENT","METRICS","concat","setTimeout","document","href","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","lang","SUBMIT_DELAY","handlePress","checkout","booking","undefined","days","dateDiff","parseDate","isCheckout","items","filter","type","roomNumber","getRoomNumber","urlLocation","join","createElement","View","wide","className","styles","bookingSummary","section","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","dates","action","LABEL_CHECK_IN","FORMAT_DATE","light","small","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","map","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","LABEL_ACCOMMODATION","markdown","LABEL_PROPERTY_TYPE","trim","links","noPrint","Action","SITE","ACTION_VIEW_HOTEL","MAIL","ACTION_SEND_EMAIL","LOCATION","ACTION_VIEW_MAP","Fragment","onPress","testId","ACTION_CHANGE_SELECTION","PriceBreakdown","ButtonMore","exports","displayName","propTypes","PropTypes","bool","any","shape"],"sources":["../../../../src/components/__shared__/BookingSummary/BookingSummary.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { FORMAT_DATE, REDIRECT_PATH } from './BookingSummary.constants';\nimport { L10N } from './BookingSummary.l10n';\nimport * as style from './BookingSummary.module.css';\nimport { EVENT, getRoomNumber, ICON, SUBMIT_DELAY, toUrlParams } from '../../helpers';\nimport { ButtonMore } from '../ButtonMore';\nimport { PriceBreakdown } from '../PriceBreakdown';\n\nconst BookingSummary = ({ box = false, children, dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n components = {},\n hotel: { features = {}, id } = {},\n language,\n urlParams: {\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n parties,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(isDesktop);\n\n const {\n checkIn,\n checkInTime,\n checkOut,\n checkOutTime,\n currency,\n details = [],\n hotel: { address, city, country, email, location = [], name: hotelName = '', phone, site } = {},\n nights,\n } = dataSource;\n\n const handleBack = () => {\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE_SELECTION` });\n\n setTimeout(() => {\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n lang: language,\n nights,\n parties,\n })}`;\n }, [SUBMIT_DELAY]);\n };\n\n const handlePress = () => {\n setExpanded(true);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:DETAILS:VIEW_MORE` });\n };\n\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n const { days } = dateDiff(parseDate(checkIn), parseDate(checkOut));\n const isCheckout = !!components.checkout;\n const items = details.filter(({ type } = {}) => !!type) || [];\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const urlLocation = location.length ? `https://maps.google.com?q=${location.join(',')}` : undefined;\n const { name = hotelName, type } = features[id] || {};\n\n return (\n <View {...others} wide className={styles(style.bookingSummary, box && style.box, others.className)}>\n <View className={style.section}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n\n <View row wide className={style.dates}>\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkIn), FORMAT_DATE)}</Text>\n {checkInTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkOut), FORMAT_DATE)}</Text>\n {checkOutTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights || days || 0 })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text light small>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION)}\n </Text>\n <Text action markdown={false}>\n {`${type && name ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim()}\n </Text>\n <Text light small>\n {`${address}, ${city}, ${country}`}\n </Text>\n {!isCheckout && (\n <Text light small>\n {phone}\n </Text>\n )}\n </View>\n\n {!isCheckout && (site || email || urlLocation) && (\n <View row wide className={styles(style.links, style.noPrint)}>\n {site && (\n <Action href={site} small target=\"_blank\">\n <Icon value={ICON.SITE} />\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n {email && (\n <Action href={`mailto:${email}`} small target=\"_blank\">\n <Icon value={ICON.MAIL} />\n {translate(L10N.ACTION_SEND_EMAIL)}\n </Action>\n )}\n {urlLocation && (\n <Action href={urlLocation} small target=\"_blank\">\n <Icon value={ICON.LOCATION} />\n {translate(L10N.ACTION_VIEW_MAP)}\n </Action>\n )}\n </View>\n )}\n\n {isCheckout && (\n <>\n <Action onPress={handleBack} testId=\"action-change-selection\">\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </>\n )}\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n\n {children ? (\n expanded ? (\n <View className={style.section}>{children}</View>\n ) : (\n <ButtonMore onPress={handlePress} />\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingSummary.displayName = 'Mirai:Core:BookingSummary';\n\nBookingSummary.propTypes = {\n box: PropTypes.bool,\n children: PropTypes.any,\n dataSource: PropTypes.shape({}),\n};\n\nexport { BookingSummary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingSummary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingSummary","_BookingSummary2","style","_helpers","_ButtonMore","_PriceBreakdown","_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","BookingSummary","_ref","_ref2","box","children","dataSource","others","isDesktop","isMobile","useDevice","dateFormat","translate","useLocale","value","components","hotel","features","id","language","urlParams","applyClubDiscount","chainSelectorValue","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idchain","idtokenprovider","parties","rooms","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","checkIn","checkInTime","checkOut","checkOutTime","currency","details","address","city","country","email","location","name","hotelName","phone","site","nights","handleBack","metrics","Event","publish","EVENT","METRICS","concat","setTimeout","document","href","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","lang","cart","split","map","room","replace","join","SUBMIT_DELAY","handlePress","checkout","booking","undefined","days","dateDiff","parseDate","isCheckout","items","filter","type","roomNumber","getRoomNumber","urlLocation","createElement","View","wide","className","styles","bookingSummary","section","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","dates","action","LABEL_CHECK_IN","FORMAT_DATE","light","small","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","LABEL_ACCOMMODATION","markdown","LABEL_PROPERTY_TYPE","trim","links","noPrint","Action","SITE","ACTION_VIEW_HOTEL","MAIL","ACTION_SEND_EMAIL","LOCATION","ACTION_VIEW_MAP","Fragment","onPress","testId","ACTION_CHANGE_SELECTION","PriceBreakdown","ButtonMore","exports","displayName","propTypes","PropTypes","bool","any","shape"],"sources":["../../../../src/components/__shared__/BookingSummary/BookingSummary.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { FORMAT_DATE, REDIRECT_PATH } from './BookingSummary.constants';\nimport { L10N } from './BookingSummary.l10n';\nimport * as style from './BookingSummary.module.css';\nimport { EVENT, getRoomNumber, ICON, SUBMIT_DELAY, toUrlParams } from '../../helpers';\nimport { ButtonMore } from '../ButtonMore';\nimport { PriceBreakdown } from '../PriceBreakdown';\n\nconst BookingSummary = ({ box = false, children, dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n components = {},\n hotel: { features = {}, id } = {},\n language,\n urlParams: {\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n parties,\n rooms,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(isDesktop);\n\n const {\n checkIn,\n checkInTime,\n checkOut,\n checkOutTime,\n currency,\n details = [],\n hotel: { address, city, country, email, location = [], name: hotelName = '', phone, site } = {},\n nights,\n } = dataSource;\n\n const handleBack = () => {\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE_SELECTION` });\n\n setTimeout(() => {\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n lang: language,\n cart: rooms\n .split(',')\n .map((room) => room.replace(/\\|/g, '--').split(':')[0])\n .join(','),\n nights,\n parties,\n })}`;\n }, [SUBMIT_DELAY]);\n };\n\n const handlePress = () => {\n setExpanded(true);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:DETAILS:VIEW_MORE` });\n };\n\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n const { days } = dateDiff(parseDate(checkIn), parseDate(checkOut));\n const isCheckout = !!components.checkout;\n const items = details.filter(({ type } = {}) => !!type) || [];\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const urlLocation = location.length ? `https://maps.google.com?q=${location.join(',')}` : undefined;\n const { name = hotelName, type } = features[id] || {};\n\n return (\n <View {...others} wide className={styles(style.bookingSummary, box && style.box, others.className)}>\n <View className={style.section}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n\n <View row wide className={style.dates}>\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkIn), FORMAT_DATE)}</Text>\n {checkInTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkOut), FORMAT_DATE)}</Text>\n {checkOutTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights || days || 0 })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text light small>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION)}\n </Text>\n <Text action markdown={false}>\n {`${type && name ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim()}\n </Text>\n <Text light small>\n {`${address}, ${city}, ${country}`}\n </Text>\n {!isCheckout && (\n <Text light small>\n {phone}\n </Text>\n )}\n </View>\n\n {!isCheckout && (site || email || urlLocation) && (\n <View row wide className={styles(style.links, style.noPrint)}>\n {site && (\n <Action href={site} small target=\"_blank\">\n <Icon value={ICON.SITE} />\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n {email && (\n <Action href={`mailto:${email}`} small target=\"_blank\">\n <Icon value={ICON.MAIL} />\n {translate(L10N.ACTION_SEND_EMAIL)}\n </Action>\n )}\n {urlLocation && (\n <Action href={urlLocation} small target=\"_blank\">\n <Icon value={ICON.LOCATION} />\n {translate(L10N.ACTION_VIEW_MAP)}\n </Action>\n )}\n </View>\n )}\n\n {isCheckout && (\n <>\n <Action onPress={handleBack} testId=\"action-change-selection\">\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </>\n )}\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n\n {children ? (\n expanded ? (\n <View className={style.section}>{children}</View>\n ) : (\n <ButtonMore onPress={handlePress} />\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingSummary.displayName = 'Mirai:Core:BookingSummary';\n\nBookingSummary.propTypes = {\n box: PropTypes.bool,\n children: PropTypes.any,\n dataSource: PropTypes.shape({}),\n};\n\nexport { BookingSummary };\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ var _ui = require("@mirai/ui");
8
8
  var _GrThreeD = require("@react-icons/all-files/gr/GrThreeD");
9
9
  var _LuBedDouble = require("@react-icons/all-files/lu/LuBedDouble");
10
10
  var _LuBedSingle = require("@react-icons/all-files/lu/LuBedSingle");
11
+ var _Md3DRotation = require("@react-icons/all-files/md/Md3DRotation");
11
12
  var _MdAccessAlarm = require("@react-icons/all-files/md/MdAccessAlarm");
12
13
  var _MdMailOutline = require("@react-icons/all-files/md/MdMailOutline");
13
14
  var _MdMoreVert = require("@react-icons/all-files/md/MdMoreVert");
@@ -47,7 +48,6 @@ var _TbDiscountCheck = require("@react-icons/all-files/tb/TbDiscountCheck");
47
48
  var _ICON = require("./ICON.AMENITIES");
48
49
  const ICON = exports.ICON = {
49
50
  ..._ui.ICON,
50
- THREE_D: _GrThreeD.GrThreeD,
51
51
  ACCOUNT: _MdOutlineAccountCircle.MdOutlineAccountCircle,
52
52
  ADD_EXTRAS: _MdOutlineAddToPhotos.MdOutlineAddToPhotos,
53
53
  ALARM: _MdAccessAlarm.MdAccessAlarm,
@@ -81,6 +81,8 @@ const ICON = exports.ICON = {
81
81
  PRINT: _MdOutlinePrint.MdOutlinePrint,
82
82
  SCHEDULE: _MdOutlineSchedule.MdOutlineSchedule,
83
83
  SEND: _MdSend.MdSend,
84
+ THREE_D: _GrThreeD.GrThreeD,
85
+ THREE_D_ROTATION: _Md3DRotation.Md3DRotation,
84
86
  TUNE: _MdOutlineTune.MdOutlineTune,
85
87
  // SUPPORT_AGENT,
86
88
  SITE: _MdOutlinePageview.MdOutlinePageview,
@@ -1 +1 @@
1
- {"version":3,"file":"ICON.js","names":["_ui","require","_GrThreeD","_LuBedDouble","_LuBedSingle","_MdAccessAlarm","_MdMailOutline","_MdMoreVert","_MdOutlineAccountCircle","_MdOutlineAddToPhotos","_MdOutlineAutorenew","_MdOutlineCalendarToday","_MdOutlineCurrencyExchange","_MdOutlineEditCalendar","_MdOutlineEventBusy","_MdOutlineFreeCancellation","_MdOutlineGroup","_MdOutlineGroups","_MdOutlineLanguage","_MdOutlineLink","_MdOutlineListAlt","_MdOutlineLocationOn","_MdOutlineLock","_MdOutlineLogout","_MdOutlineMinimize","_MdOutlineOutput","_MdOutlinePageview","_MdOutlinePeopleAlt","_MdOutlinePersonOff","_MdOutlinePhone","_MdOutlinePlayCircle","_MdOutlinePrint","_MdOutlineSchedule","_MdOutlineTune","_MdOutlineWorkspacePremium","_MdPersonOutline","_MdPhotoSizeSelectSmall","_MdSend","_MdUnfoldMore","_TbDiscount","_TbDiscountCheck","_ICON","ICON","exports","ICON_BASE","THREE_D","ACCOUNT","ADD_EXTRAS","ALARM","BED_DOUBLE","BED_SINGLE","CALENDAR","CALENDAR_BUSY","CALENDAR_CANCEL","CALENDAR_EDIT","CLEAR","CURRENCY","DISCOUNT","GROUP","GROUPS","LANGUAGE","LINK","LIST","LOCATION","LOCK","LOGOUT","MAIL","MINIMIZE","MORE","OFFER","PEOPLE","PERSON","PERSON_OFF","PHONE","PLAY","PREMIUM","PRINT","SCHEDULE","SEND","TUNE","SITE","SIZE","UNFOLD","URL","ICON_AMENITIES"],"sources":["../../../src/components/helpers/ICON.js"],"sourcesContent":["import { ICON as ICON_BASE } from '@mirai/ui';\nimport { GrThreeD as THREE_D } from '@react-icons/all-files/gr/GrThreeD';\nimport { LuBedDouble as BED_DOUBLE } from '@react-icons/all-files/lu/LuBedDouble';\nimport { LuBedSingle as BED_SINGLE } from '@react-icons/all-files/lu/LuBedSingle';\nimport { MdAccessAlarm as ALARM } from '@react-icons/all-files/md/MdAccessAlarm';\nimport { MdMailOutline as MAIL } from '@react-icons/all-files/md/MdMailOutline';\nimport { MdMoreVert as MORE } from '@react-icons/all-files/md/MdMoreVert';\nimport { MdOutlineAccountCircle as ACCOUNT } from '@react-icons/all-files/md/MdOutlineAccountCircle';\nimport { MdOutlineAddToPhotos as ADD_EXTRAS } from '@react-icons/all-files/md/MdOutlineAddToPhotos';\nimport { MdOutlineAutorenew as CLEAR } from '@react-icons/all-files/md/MdOutlineAutorenew';\nimport { MdOutlineCalendarToday as CALENDAR } from '@react-icons/all-files/md/MdOutlineCalendarToday';\nimport { MdOutlineCurrencyExchange as CURRENCY } from '@react-icons/all-files/md/MdOutlineCurrencyExchange';\nimport { MdOutlineEditCalendar as CALENDAR_EDIT } from '@react-icons/all-files/md/MdOutlineEditCalendar';\nimport { MdOutlineEventBusy as CALENDAR_BUSY } from '@react-icons/all-files/md/MdOutlineEventBusy';\nimport { MdOutlineFreeCancellation as CALENDAR_CANCEL } from '@react-icons/all-files/md/MdOutlineFreeCancellation';\nimport { MdOutlineGroup as GROUP } from '@react-icons/all-files/md/MdOutlineGroup';\nimport { MdOutlineGroups as GROUPS } from '@react-icons/all-files/md/MdOutlineGroups';\nimport { MdOutlineLanguage as LANGUAGE } from '@react-icons/all-files/md/MdOutlineLanguage';\nimport { MdOutlineLink as LINK } from '@react-icons/all-files/md/MdOutlineLink';\nimport { MdOutlineListAlt as LIST } from '@react-icons/all-files/md/MdOutlineListAlt';\nimport { MdOutlineLocationOn as LOCATION } from '@react-icons/all-files/md/MdOutlineLocationOn';\nimport { MdOutlineLock as LOCK } from '@react-icons/all-files/md/MdOutlineLock';\nimport { MdOutlineLogout as LOGOUT } from '@react-icons/all-files/md/MdOutlineLogout';\nimport { MdOutlineMinimize as MINIMIZE } from '@react-icons/all-files/md/MdOutlineMinimize';\nimport { MdOutlineOutput as URL } from '@react-icons/all-files/md/MdOutlineOutput';\nimport { MdOutlinePageview as SITE } from '@react-icons/all-files/md/MdOutlinePageview';\nimport { MdOutlinePeopleAlt as PEOPLE } from '@react-icons/all-files/md/MdOutlinePeopleAlt';\nimport { MdOutlinePersonOff as PERSON_OFF } from '@react-icons/all-files/md/MdOutlinePersonOff';\nimport { MdOutlinePhone as PHONE } from '@react-icons/all-files/md/MdOutlinePhone';\nimport { MdOutlinePlayCircle as PLAY } from '@react-icons/all-files/md/MdOutlinePlayCircle';\nimport { MdOutlinePrint as PRINT } from '@react-icons/all-files/md/MdOutlinePrint';\nimport { MdOutlineSchedule as SCHEDULE } from '@react-icons/all-files/md/MdOutlineSchedule';\nimport { MdOutlineTune as TUNE } from '@react-icons/all-files/md/MdOutlineTune';\nimport { MdOutlineWorkspacePremium as PREMIUM } from '@react-icons/all-files/md/MdOutlineWorkspacePremium';\nimport { MdPersonOutline as PERSON } from '@react-icons/all-files/md/MdPersonOutline';\nimport { MdPhotoSizeSelectSmall as SIZE } from '@react-icons/all-files/md/MdPhotoSizeSelectSmall';\nimport { MdSend as SEND } from '@react-icons/all-files/md/MdSend';\nimport { MdUnfoldMore as UNFOLD } from '@react-icons/all-files/md/MdUnfoldMore';\nimport { TbDiscount as DISCOUNT } from '@react-icons/all-files/tb/TbDiscount.mjs';\nimport { TbDiscountCheck as OFFER } from '@react-icons/all-files/tb/TbDiscountCheck';\n\nimport { ICON_AMENITIES } from './ICON.AMENITIES';\n\nexport const ICON = {\n ...ICON_BASE,\n THREE_D,\n ACCOUNT,\n ADD_EXTRAS,\n ALARM,\n BED_DOUBLE,\n BED_SINGLE,\n CALENDAR,\n CALENDAR_BUSY,\n CALENDAR_CANCEL,\n CALENDAR_EDIT,\n CLEAR,\n CURRENCY,\n DISCOUNT,\n GROUP,\n GROUPS,\n LANGUAGE,\n LINK,\n LIST,\n LOCATION,\n LOCK,\n LOGOUT,\n MAIL,\n MINIMIZE,\n MORE,\n OFFER,\n PEOPLE,\n PERSON,\n PERSON_OFF,\n PHONE,\n PLAY,\n PREMIUM,\n PRINT,\n SCHEDULE,\n SEND,\n TUNE,\n // SUPPORT_AGENT,\n SITE,\n SIZE,\n UNFOLD,\n URL,\n // Amenities & Features,\n ...ICON_AMENITIES,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ICON.js","names":["_ui","require","_GrThreeD","_LuBedDouble","_LuBedSingle","_Md3DRotation","_MdAccessAlarm","_MdMailOutline","_MdMoreVert","_MdOutlineAccountCircle","_MdOutlineAddToPhotos","_MdOutlineAutorenew","_MdOutlineCalendarToday","_MdOutlineCurrencyExchange","_MdOutlineEditCalendar","_MdOutlineEventBusy","_MdOutlineFreeCancellation","_MdOutlineGroup","_MdOutlineGroups","_MdOutlineLanguage","_MdOutlineLink","_MdOutlineListAlt","_MdOutlineLocationOn","_MdOutlineLock","_MdOutlineLogout","_MdOutlineMinimize","_MdOutlineOutput","_MdOutlinePageview","_MdOutlinePeopleAlt","_MdOutlinePersonOff","_MdOutlinePhone","_MdOutlinePlayCircle","_MdOutlinePrint","_MdOutlineSchedule","_MdOutlineTune","_MdOutlineWorkspacePremium","_MdPersonOutline","_MdPhotoSizeSelectSmall","_MdSend","_MdUnfoldMore","_TbDiscount","_TbDiscountCheck","_ICON","ICON","exports","ICON_BASE","ACCOUNT","ADD_EXTRAS","ALARM","BED_DOUBLE","BED_SINGLE","CALENDAR","CALENDAR_BUSY","CALENDAR_CANCEL","CALENDAR_EDIT","CLEAR","CURRENCY","DISCOUNT","GROUP","GROUPS","LANGUAGE","LINK","LIST","LOCATION","LOCK","LOGOUT","MAIL","MINIMIZE","MORE","OFFER","PEOPLE","PERSON","PERSON_OFF","PHONE","PLAY","PREMIUM","PRINT","SCHEDULE","SEND","THREE_D","THREE_D_ROTATION","TUNE","SITE","SIZE","UNFOLD","URL","ICON_AMENITIES"],"sources":["../../../src/components/helpers/ICON.js"],"sourcesContent":["import { ICON as ICON_BASE } from '@mirai/ui';\nimport { GrThreeD as THREE_D } from '@react-icons/all-files/gr/GrThreeD';\nimport { LuBedDouble as BED_DOUBLE } from '@react-icons/all-files/lu/LuBedDouble';\nimport { LuBedSingle as BED_SINGLE } from '@react-icons/all-files/lu/LuBedSingle';\nimport { Md3DRotation as THREE_D_ROTATION } from '@react-icons/all-files/md/Md3DRotation';\nimport { MdAccessAlarm as ALARM } from '@react-icons/all-files/md/MdAccessAlarm';\nimport { MdMailOutline as MAIL } from '@react-icons/all-files/md/MdMailOutline';\nimport { MdMoreVert as MORE } from '@react-icons/all-files/md/MdMoreVert';\nimport { MdOutlineAccountCircle as ACCOUNT } from '@react-icons/all-files/md/MdOutlineAccountCircle';\nimport { MdOutlineAddToPhotos as ADD_EXTRAS } from '@react-icons/all-files/md/MdOutlineAddToPhotos';\nimport { MdOutlineAutorenew as CLEAR } from '@react-icons/all-files/md/MdOutlineAutorenew';\nimport { MdOutlineCalendarToday as CALENDAR } from '@react-icons/all-files/md/MdOutlineCalendarToday';\nimport { MdOutlineCurrencyExchange as CURRENCY } from '@react-icons/all-files/md/MdOutlineCurrencyExchange';\nimport { MdOutlineEditCalendar as CALENDAR_EDIT } from '@react-icons/all-files/md/MdOutlineEditCalendar';\nimport { MdOutlineEventBusy as CALENDAR_BUSY } from '@react-icons/all-files/md/MdOutlineEventBusy';\nimport { MdOutlineFreeCancellation as CALENDAR_CANCEL } from '@react-icons/all-files/md/MdOutlineFreeCancellation';\nimport { MdOutlineGroup as GROUP } from '@react-icons/all-files/md/MdOutlineGroup';\nimport { MdOutlineGroups as GROUPS } from '@react-icons/all-files/md/MdOutlineGroups';\nimport { MdOutlineLanguage as LANGUAGE } from '@react-icons/all-files/md/MdOutlineLanguage';\nimport { MdOutlineLink as LINK } from '@react-icons/all-files/md/MdOutlineLink';\nimport { MdOutlineListAlt as LIST } from '@react-icons/all-files/md/MdOutlineListAlt';\nimport { MdOutlineLocationOn as LOCATION } from '@react-icons/all-files/md/MdOutlineLocationOn';\nimport { MdOutlineLock as LOCK } from '@react-icons/all-files/md/MdOutlineLock';\nimport { MdOutlineLogout as LOGOUT } from '@react-icons/all-files/md/MdOutlineLogout';\nimport { MdOutlineMinimize as MINIMIZE } from '@react-icons/all-files/md/MdOutlineMinimize';\nimport { MdOutlineOutput as URL } from '@react-icons/all-files/md/MdOutlineOutput';\nimport { MdOutlinePageview as SITE } from '@react-icons/all-files/md/MdOutlinePageview';\nimport { MdOutlinePeopleAlt as PEOPLE } from '@react-icons/all-files/md/MdOutlinePeopleAlt';\nimport { MdOutlinePersonOff as PERSON_OFF } from '@react-icons/all-files/md/MdOutlinePersonOff';\nimport { MdOutlinePhone as PHONE } from '@react-icons/all-files/md/MdOutlinePhone';\nimport { MdOutlinePlayCircle as PLAY } from '@react-icons/all-files/md/MdOutlinePlayCircle';\nimport { MdOutlinePrint as PRINT } from '@react-icons/all-files/md/MdOutlinePrint';\nimport { MdOutlineSchedule as SCHEDULE } from '@react-icons/all-files/md/MdOutlineSchedule';\nimport { MdOutlineTune as TUNE } from '@react-icons/all-files/md/MdOutlineTune';\nimport { MdOutlineWorkspacePremium as PREMIUM } from '@react-icons/all-files/md/MdOutlineWorkspacePremium';\nimport { MdPersonOutline as PERSON } from '@react-icons/all-files/md/MdPersonOutline';\nimport { MdPhotoSizeSelectSmall as SIZE } from '@react-icons/all-files/md/MdPhotoSizeSelectSmall';\nimport { MdSend as SEND } from '@react-icons/all-files/md/MdSend';\nimport { MdUnfoldMore as UNFOLD } from '@react-icons/all-files/md/MdUnfoldMore';\nimport { TbDiscount as DISCOUNT } from '@react-icons/all-files/tb/TbDiscount.mjs';\nimport { TbDiscountCheck as OFFER } from '@react-icons/all-files/tb/TbDiscountCheck';\n\nimport { ICON_AMENITIES } from './ICON.AMENITIES';\n\nexport const ICON = {\n ...ICON_BASE,\n ACCOUNT,\n ADD_EXTRAS,\n ALARM,\n BED_DOUBLE,\n BED_SINGLE,\n CALENDAR,\n CALENDAR_BUSY,\n CALENDAR_CANCEL,\n CALENDAR_EDIT,\n CLEAR,\n CURRENCY,\n DISCOUNT,\n GROUP,\n GROUPS,\n LANGUAGE,\n LINK,\n LIST,\n LOCATION,\n LOCK,\n LOGOUT,\n MAIL,\n MINIMIZE,\n MORE,\n OFFER,\n PEOPLE,\n PERSON,\n PERSON_OFF,\n PHONE,\n PLAY,\n PREMIUM,\n PRINT,\n SCHEDULE,\n SEND,\n THREE_D,\n THREE_D_ROTATION,\n TUNE,\n // SUPPORT_AGENT,\n SITE,\n SIZE,\n UNFOLD,\n URL,\n // Amenities & Features,\n ...ICON_AMENITIES,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,mBAAA,GAAAV,OAAA;AACA,IAAAW,uBAAA,GAAAX,OAAA;AACA,IAAAY,0BAAA,GAAAZ,OAAA;AACA,IAAAa,sBAAA,GAAAb,OAAA;AACA,IAAAc,mBAAA,GAAAd,OAAA;AACA,IAAAe,0BAAA,GAAAf,OAAA;AACA,IAAAgB,eAAA,GAAAhB,OAAA;AACA,IAAAiB,gBAAA,GAAAjB,OAAA;AACA,IAAAkB,kBAAA,GAAAlB,OAAA;AACA,IAAAmB,cAAA,GAAAnB,OAAA;AACA,IAAAoB,iBAAA,GAAApB,OAAA;AACA,IAAAqB,oBAAA,GAAArB,OAAA;AACA,IAAAsB,cAAA,GAAAtB,OAAA;AACA,IAAAuB,gBAAA,GAAAvB,OAAA;AACA,IAAAwB,kBAAA,GAAAxB,OAAA;AACA,IAAAyB,gBAAA,GAAAzB,OAAA;AACA,IAAA0B,kBAAA,GAAA1B,OAAA;AACA,IAAA2B,mBAAA,GAAA3B,OAAA;AACA,IAAA4B,mBAAA,GAAA5B,OAAA;AACA,IAAA6B,eAAA,GAAA7B,OAAA;AACA,IAAA8B,oBAAA,GAAA9B,OAAA;AACA,IAAA+B,eAAA,GAAA/B,OAAA;AACA,IAAAgC,kBAAA,GAAAhC,OAAA;AACA,IAAAiC,cAAA,GAAAjC,OAAA;AACA,IAAAkC,0BAAA,GAAAlC,OAAA;AACA,IAAAmC,gBAAA,GAAAnC,OAAA;AACA,IAAAoC,uBAAA,GAAApC,OAAA;AACA,IAAAqC,OAAA,GAAArC,OAAA;AACA,IAAAsC,aAAA,GAAAtC,OAAA;AACA,IAAAuC,WAAA,GAAAvC,OAAA;AACA,IAAAwC,gBAAA,GAAAxC,OAAA;AAEA,IAAAyC,KAAA,GAAAzC,OAAA;AAEO,MAAM0C,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClB,GAAGE,QAAS;EACZC,OAAO,EAAPA,8CAAO;EACPC,UAAU,EAAVA,0CAAU;EACVC,KAAK,EAALA,4BAAK;EACLC,UAAU,EAAVA,wBAAU;EACVC,UAAU,EAAVA,wBAAU;EACVC,QAAQ,EAARA,8CAAQ;EACRC,aAAa,EAAbA,sCAAa;EACbC,eAAe,EAAfA,oDAAe;EACfC,aAAa,EAAbA,4CAAa;EACbC,KAAK,EAALA,sCAAK;EACLC,QAAQ,EAARA,oDAAQ;EACRC,QAAQ,EAARA,sBAAQ;EACRC,KAAK,EAALA,8BAAK;EACLC,MAAM,EAANA,gCAAM;EACNC,QAAQ,EAARA,oCAAQ;EACRC,IAAI,EAAJA,4BAAI;EACJC,IAAI,EAAJA,kCAAI;EACJC,QAAQ,EAARA,wCAAQ;EACRC,IAAI,EAAJA,4BAAI;EACJC,MAAM,EAANA,gCAAM;EACNC,IAAI,EAAJA,4BAAI;EACJC,QAAQ,EAARA,oCAAQ;EACRC,IAAI,EAAJA,sBAAI;EACJC,KAAK,EAALA,gCAAK;EACLC,MAAM,EAANA,sCAAM;EACNC,MAAM,EAANA,gCAAM;EACNC,UAAU,EAAVA,sCAAU;EACVC,KAAK,EAALA,8BAAK;EACLC,IAAI,EAAJA,wCAAI;EACJC,OAAO,EAAPA,oDAAO;EACPC,KAAK,EAALA,8BAAK;EACLC,QAAQ,EAARA,oCAAQ;EACRC,IAAI,EAAJA,cAAI;EACJC,OAAO,EAAPA,kBAAO;EACPC,gBAAgB,EAAhBA,0BAAgB;EAChBC,IAAI,EAAJA,4BAAI;EACJ;EACAC,IAAI,EAAJA,oCAAI;EACJC,IAAI,EAAJA,8CAAI;EACJC,MAAM,EAANA,0BAAM;EACNC,GAAG,EAAHA,gCAAG;EACH;EACA,GAAGC;AACL,CAAC"}
@@ -3,8 +3,72 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.KPI_EVENTS = exports.CONSENT_MODE_REQUIRED = void 0;
6
+ exports.KPI_EVENTS = exports.DEFAULT_PERFORMANCE = exports.CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_ANSWERED = void 0;
7
7
  var _Core = require("../../Core.constants");
8
- const CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_REQUIRED = [_Core.PERFORMANCE.AFFILIRED, _Core.PERFORMANCE.BING, _Core.PERFORMANCE.COMPARE, _Core.PERFORMANCE.FACEBOOK, _Core.PERFORMANCE.THE_HOTEL_NETWORK];
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
+ const CONSENT_MODE_ANSWERED = exports.CONSENT_MODE_ANSWERED = [_Core.PERFORMANCE.ANALYTICS, _Core.PERFORMANCE.GOOGLE_ADS];
72
+ const CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_REQUIRED = [_Core.PERFORMANCE.AFFILIRED, _Core.PERFORMANCE.BING, _Core.PERFORMANCE.FACEBOOK, _Core.PERFORMANCE.THE_HOTEL_NETWORK];
9
73
  const KPI_EVENTS = exports.KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];
10
74
  //# sourceMappingURL=PerformanceManager.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.constants.js","names":["_Core","require","CONSENT_MODE_REQUIRED","exports","PERFORMANCE","AFFILIRED","BING","COMPARE","FACEBOOK","THE_HOTEL_NETWORK","KPI_EVENTS"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.constants.js"],"sourcesContent":["import { PERFORMANCE } from '../../Core.constants';\n\nconst CONSENT_MODE_REQUIRED = [\n PERFORMANCE.AFFILIRED,\n PERFORMANCE.BING,\n PERFORMANCE.COMPARE,\n PERFORMANCE.FACEBOOK,\n PERFORMANCE.THE_HOTEL_NETWORK,\n];\n\nconst KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];\n\nexport { CONSENT_MODE_REQUIRED, KPI_EVENTS };\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,CAC5BE,iBAAW,CAACC,SAAS,EACrBD,iBAAW,CAACE,IAAI,EAChBF,iBAAW,CAACG,OAAO,EACnBH,iBAAW,CAACI,QAAQ,EACpBJ,iBAAW,CAACK,iBAAiB,CAC9B;AAED,MAAMC,UAAU,GAAAP,OAAA,CAAAO,UAAA,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC"}
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","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.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 = ['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,UAAU,CAAC;AAE7E,MAAMC,qBAAqB,GAAAnB,OAAA,CAAAmB,qBAAA,GAAG,CAC5BH,iBAAW,CAACI,SAAS,EACrBJ,iBAAW,CAACK,IAAI,EAChBL,iBAAW,CAACM,QAAQ,EACpBN,iBAAW,CAACO,iBAAiB,CAC9B;AAED,MAAMC,UAAU,GAAAxB,OAAA,CAAAwB,UAAA,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC"}
@@ -16,6 +16,7 @@ var _helpers2 = require("../../components/helpers");
16
16
  var _Core = require("../../Core.constants");
17
17
  var _helpers3 = require("../../helpers");
18
18
  let memoizedEvents = [];
19
+ let memoizedPendingEvents = [];
19
20
  const PerformanceManager = () => {
20
21
  const device = (0, _ui.useDevice)();
21
22
  const {
@@ -25,12 +26,13 @@ const PerformanceManager = () => {
25
26
  const {
26
27
  value: {
27
28
  components = {},
28
- performance = [],
29
+ performance = _PerformanceManager.DEFAULT_PERFORMANCE || [],
29
30
  ...store
30
31
  }
31
32
  } = (0, _dataSources.useStore)();
32
33
  const [consentMode, setConsentMode] = (0, _react.useState)((0, _helpers.getConsentMode)());
33
34
  const [ready, setReady] = (0, _react.useState)(false);
35
+ const [types, setTypes] = (0, _react.useState)([]);
34
36
  const {
35
37
  hotel,
36
38
  finder: {
@@ -76,13 +78,15 @@ const PerformanceManager = () => {
76
78
  }, []);
77
79
  (0, _react.useEffect)(() => {
78
80
  if (consentMode) return;
79
- const interval = setInterval(() => {
81
+ const interval = setInterval(async () => {
80
82
  const nextConsentMode = (0, _helpers.getConsentMode)();
81
- if (!nextConsentMode) return;
82
- clearInterval(interval);
83
- loadScripts(performance, nextConsentMode);
84
- memoizedEvents.forEach(event => executeEvent(event));
85
- memoizedEvents = [];
83
+ if (nextConsentMode === undefined) return;
84
+ await loadScripts(performance, nextConsentMode);
85
+ const nextMemoizedPendingEvents = [];
86
+ memoizedPendingEvents.forEach(event => {
87
+ if (nextConsentMode || !nextConsentMode && _PerformanceManager.CONSENT_MODE_ANSWERED.includes(parseInt(event.provider))) executeEvent(event);else nextMemoizedPendingEvents.push(event);
88
+ });
89
+ memoizedPendingEvents = nextMemoizedPendingEvents;
86
90
  setConsentMode(nextConsentMode);
87
91
  }, 1000);
88
92
  return () => clearInterval(interval);
@@ -108,22 +112,24 @@ const PerformanceManager = () => {
108
112
  // eslint-disable-next-line react-hooks/exhaustive-deps
109
113
  }, [place]);
110
114
  (0, _react.useEffect)(() => {
111
- // ! TODO: why we should delay the event...
112
- if (ready) setTimeout(() => _dataSources.Event.publish(_Core.EVENT.PERFORMANCE_READY, 10));
115
+ if (!ready) return;
116
+ memoizedEvents.forEach(event => executeEvent(event));
117
+ memoizedEvents = [];
118
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
119
  }, [ready]);
114
120
  (0, _react.useEffect)(() => {
115
- if (!ready) return;
116
121
  const handleEvent = _ref4 => {
117
122
  let {
118
123
  event,
119
124
  ...value
120
125
  } = _ref4;
126
+ const currentConsentMode = (0, _helpers.getConsentMode)();
121
127
  const availableProviders = performance.map(function () {
122
128
  let {
123
129
  type
124
130
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
131
  return type;
126
- }).filter(type => consentMode === true || !_PerformanceManager.CONSENT_MODE_REQUIRED.includes(type));
132
+ }).filter(type => !(currentConsentMode === undefined && _PerformanceManager.CONSENT_MODE_ANSWERED.includes(type))).filter(type => currentConsentMode || !_PerformanceManager.CONSENT_MODE_REQUIRED.includes(type));
127
133
  Object.entries(_PerformanceManager2.EVENTS[event]).forEach(_ref5 => {
128
134
  let [provider, callback = () => {}] = _ref5;
129
135
  const props = {
@@ -132,18 +138,13 @@ const PerformanceManager = () => {
132
138
  provider,
133
139
  value
134
140
  };
135
- if (!availableProviders.includes(parseInt(provider))) {
136
- memoizedEvents.push(props);
137
- return;
138
- }
139
- if (!consentMode) memoizedEvents.push(props);
140
- executeEvent(props);
141
+ if (!availableProviders.includes(parseInt(provider)) || types.length > 0 && !types.includes(parseInt(provider))) memoizedPendingEvents.push(props);else if (ready) executeEvent(props);else memoizedEvents.push(props);
141
142
  });
142
143
  };
143
144
  Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.subscribe(event, handleEvent));
144
145
  return () => Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.unsubscribe(event, handleEvent));
145
146
  // eslint-disable-next-line react-hooks/exhaustive-deps
146
- }, [consentMode, device, ready, store]);
147
+ }, [device, ready, store]);
147
148
  const executeEvent = function () {
148
149
  let {
149
150
  provider,
@@ -163,6 +164,7 @@ const PerformanceManager = () => {
163
164
  device,
164
165
  store
165
166
  });
167
+ if (!response) return;
166
168
  const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
167
169
  // eslint-disable-next-line no-console
168
170
  response.then ? response.then(value => console.log(label, value)) : console.log(label, response);
@@ -171,8 +173,6 @@ const PerformanceManager = () => {
171
173
  let performance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
172
174
  let propConsentMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : consentMode;
173
175
  const loadedComponents = Object.keys(components);
174
-
175
- // ! TODO: Load all instances scripts or just the first one.
176
176
  const scripts = [];
177
177
  performance.filter(function () {
178
178
  let {
@@ -201,13 +201,20 @@ const PerformanceManager = () => {
201
201
  ...config,
202
202
  hotel,
203
203
  loadedComponents
204
- })
204
+ }),
205
+ type
205
206
  };
206
207
  }));
207
208
  }
208
209
  });
209
210
  setReady(false);
210
211
  await Promise.all(scripts.map(config => (0, _helpers3.loadScript)(config)));
212
+ setTypes(scripts.map(function () {
213
+ let {
214
+ type
215
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
216
+ return type;
217
+ }));
211
218
  setReady(true);
212
219
  };
213
220
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","memoizedEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","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","nextConsentMode","clearInterval","loadScripts","forEach","executeEvent","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","undefined","setTimeout","publish","PERFORMANCE_READY","_ref4","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","provider","callback","parseInt","push","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","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 { 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 { EVENT } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\nlet memoizedEvents = [];\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\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(() => {\n const nextConsentMode = getConsentMode();\n if (!nextConsentMode) return;\n\n clearInterval(interval);\n loadScripts(performance, nextConsentMode);\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n setConsentMode(nextConsentMode);\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);\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) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n // ! TODO: why we should delay the event...\n if (ready) setTimeout(() => Event.publish(EVENT.PERFORMANCE_READY, 10));\n }, [ready]);\n\n useEffect(() => {\n if (!ready) return;\n\n const handleEvent = ({ event, ...value }) => {\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => consentMode === true || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([provider, callback = () => {}]) => {\n const props = { callback, event, provider, value };\n if (!availableProviders.includes(parseInt(provider))) {\n memoizedEvents.push(props);\n return;\n }\n if (!consentMode) memoizedEvents.push(props);\n\n executeEvent(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode, device, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\n const config = performance.find(({ type }) => type === parseInt(provider));\n const response = callback({ ...value, ...config, device, store });\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\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n // ! TODO: Load all instances scripts or just the first one.\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 })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config)));\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","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","nextConsentMode","undefined","loadScripts","nextMemoizedPendingEvents","forEach","CONSENT_MODE_ANSWERED","parseInt","provider","executeEvent","push","clearInterval","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","_ref4","currentConsentMode","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","callback","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","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 } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\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 const nextConsentMode = getConsentMode();\n if (nextConsentMode === undefined) return;\n\n await loadScripts(performance, nextConsentMode);\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event) => {\n if (nextConsentMode || (!nextConsentMode && CONSENT_MODE_ANSWERED.includes(parseInt(event.provider))))\n executeEvent(event);\n else nextMemoizedPendingEvents.push(event);\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n\n setConsentMode(nextConsentMode);\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);\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) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\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 === undefined && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([provider, callback = () => {}]) => {\n const props = { callback, event, provider, value };\n\n if (\n !availableProviders.includes(parseInt(provider)) ||\n (types.length > 0 && !types.includes(parseInt(provider)))\n )\n memoizedPendingEvents.push(props);\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 === parseInt(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\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,IAAIW,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;MACvC,MAAMC,eAAe,GAAG,IAAAjD,uBAAc,EAAC,CAAC;MACxC,IAAIiD,eAAe,KAAKC,SAAS,EAAE;MAEnC,MAAMC,WAAW,CAAC1D,WAAW,EAAEwD,eAAe,CAAC;MAE/C,MAAMG,yBAAyB,GAAG,EAAE;MACpCpE,qBAAqB,CAACqE,OAAO,CAAErB,KAAK,IAAK;QACvC,IAAIiB,eAAe,IAAK,CAACA,eAAe,IAAIK,yCAAqB,CAACjB,QAAQ,CAACkB,QAAQ,CAACvB,KAAK,CAACwB,QAAQ,CAAC,CAAE,EACnGC,YAAY,CAACzB,KAAK,CAAC,CAAC,KACjBoB,yBAAyB,CAACM,IAAI,CAAC1B,KAAK,CAAC;MAC5C,CAAC,CAAC;MACFhD,qBAAqB,GAAGoE,yBAAyB;MAEjDtD,cAAc,CAACmD,eAAe,CAAC;IACjC,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAMU,aAAa,CAACZ,QAAQ,CAAC;IACpC;EACF,CAAC,EAAE,CAAClD,WAAW,CAAC,CAAC;EAEjB,IAAAgB,gBAAS,EAAC,MAAM;IACd,MAAM+C,WAAW,GAAGA,CAAA,KAAMT,WAAW,CAAC1D,WAAW,CAAC;IAElDiD,kBAAK,CAACC,SAAS,CAACkB,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAE9C,OAAO,MAAMlB,kBAAK,CAACI,WAAW,CAACe,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAC7D;EACF,CAAC,EAAE,CAACnE,WAAW,CAAC,CAAC;EAEjB,IAAAoB,gBAAS,EAAC,MAAM;IACd,MAAM;MACJkD,MAAM;MACNzD,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACgC,OAAO,CAAC,GAAG,EAAE;UAAEwB;QAAQ,CAAC,GAAG,CAAC;MAAE;IACxD,CAAC,GAAGrE,KAAK;IAET,IAAIY,KAAK,IAAIN,KAAK,EAAEkD,WAAW,CAAC,IAAAc,wBAAc,EAACF,MAAM,EAAEC,OAAO,GAAGxB,OAAO,GAAGU,SAAS,CAAC,CAAC;IACtF;EACF,CAAC,EAAE,CAAC3C,KAAK,CAAC,CAAC;EAEX,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,KAAK,EAAE;IAEZlB,cAAc,CAACsE,OAAO,CAAErB,KAAK,IAAKyB,YAAY,CAACzB,KAAK,CAAC,CAAC;IACtDjD,cAAc,GAAG,EAAE;IACnB;EACF,CAAC,EAAE,CAACkB,KAAK,CAAC,CAAC;EAEX,IAAAY,gBAAS,EAAC,MAAM;IACd,MAAM+C,WAAW,GAAGM,KAAA,IAAyB;MAAA,IAAxB;QAAElC,KAAK;QAAE,GAAGzC;MAAM,CAAC,GAAA2E,KAAA;MACtC,MAAMC,kBAAkB,GAAG,IAAAnE,uBAAc,EAAC,CAAC;MAE3C,MAAMoE,kBAAkB,GAAG3E,WAAW,CACnC6B,GAAG,CAAC;QAAA,IAAC;UAAEV;QAAK,CAAC,GAAAyD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzD,IAAI;MAAA,EAAC,CAC5BQ,MAAM,CAAER,IAAI,IAAK,EAAEuD,kBAAkB,KAAKjB,SAAS,IAAII,yCAAqB,CAACjB,QAAQ,CAACzB,IAAI,CAAC,CAAC,CAAC,CAC7FQ,MAAM,CAAER,IAAI,IAAKuD,kBAAkB,IAAI,CAACI,yCAAqB,CAAClC,QAAQ,CAACzB,IAAI,CAAC,CAAC;MAEhFM,MAAM,CAACC,OAAO,CAACqD,2BAAM,CAACxC,KAAK,CAAC,CAAC,CAACqB,OAAO,CAACoB,KAAA,IAAqC;QAAA,IAApC,CAACjB,QAAQ,EAAEkB,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC,CAAC,GAAAD,KAAA;QACpE,MAAM9C,KAAK,GAAG;UAAE+C,QAAQ;UAAE1C,KAAK;UAAEwB,QAAQ;UAAEjE;QAAM,CAAC;QAElD,IACE,CAAC6E,kBAAkB,CAAC/B,QAAQ,CAACkB,QAAQ,CAACC,QAAQ,CAAC,CAAC,IAC/CrD,KAAK,CAACmE,MAAM,GAAG,CAAC,IAAI,CAACnE,KAAK,CAACkC,QAAQ,CAACkB,QAAQ,CAACC,QAAQ,CAAC,CAAE,EAEzDxE,qBAAqB,CAAC0E,IAAI,CAAC/B,KAAK,CAAC,CAAC,KAC/B,IAAI1B,KAAK,EAAEwD,YAAY,CAAC9B,KAAK,CAAC,CAAC,KAC/B5C,cAAc,CAAC2E,IAAI,CAAC/B,KAAK,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC;IAEDT,MAAM,CAACyD,IAAI,CAACH,2BAAM,CAAC,CAACnB,OAAO,CAAErB,KAAK,IAAKU,kBAAK,CAACC,SAAS,CAACX,KAAK,EAAE4B,WAAW,CAAC,CAAC;IAE3E,OAAO,MAAM1C,MAAM,CAACyD,IAAI,CAACH,2BAAM,CAAC,CAACnB,OAAO,CAAErB,KAAK,IAAKU,kBAAK,CAACI,WAAW,CAACd,KAAK,EAAE4B,WAAW,CAAC,CAAC;IAC1F;EACF,CAAC,EAAE,CAAC1E,MAAM,EAAEe,KAAK,EAAEN,KAAK,CAAC,CAAC;EAE1B,MAAM8D,YAAY,GAAG,SAAAA,CAAA,EAA+C;IAAA,IAA9C;MAAED,QAAQ;MAAEkB,QAAQ;MAAEnF,KAAK;MAAEyC;IAAM,CAAC,GAAAqC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;IAC7D,MAAMN,MAAM,GAAGtE,WAAW,CAACmF,IAAI,CAACC,KAAA;MAAA,IAAC;QAAEjE;MAAK,CAAC,GAAAiE,KAAA;MAAA,OAAKjE,IAAI,KAAK2C,QAAQ,CAACC,QAAQ,CAAC;IAAA,EAAC;IAC1E,MAAMsB,QAAQ,GAAGJ,QAAQ,CAAC;MAAE,GAAGnF,KAAK;MAAE,GAAGwE,MAAM;MAAE7E,MAAM;MAAES;IAAM,CAAC,CAAC;IACjE,IAAI,CAACmF,QAAQ,EAAE;IAEf,MAAMC,KAAK,mBAAAC,MAAA,CAAS,IAAAC,4BAAmB,EAACzB,QAAQ,CAAC,OAAAwB,MAAA,CAAIhD,KAAK,CAAE;IAC5D;IACA8C,QAAQ,CAACI,IAAI,GAAGJ,QAAQ,CAACI,IAAI,CAAE3F,KAAK,IAAK4F,OAAO,CAACC,GAAG,CAACL,KAAK,EAAExF,KAAK,CAAC,CAAC,GAAG4F,OAAO,CAACC,GAAG,CAACL,KAAK,EAAED,QAAQ,CAAC;EACpG,CAAC;EAED,MAAM3B,WAAW,GAAG,eAAAA,CAAA,EAA2D;IAAA,IAApD1D,WAAW,GAAA4E,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,EAAE;IAAA,IAAEgB,eAAe,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAGxE,WAAW;IACxE,MAAMyF,gBAAgB,GAAGpE,MAAM,CAACyD,IAAI,CAACnF,UAAU,CAAC;IAEhD,MAAM+F,OAAO,GAAG,EAAE;IAClB9F,WAAW,CACR2B,MAAM,CAAC;MAAA,IAAC;QAAER;MAAK,CAAC,GAAAyD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKgB,eAAe,KAAK,IAAI,IAAI,CAACd,yCAAqB,CAAClC,QAAQ,CAACzB,IAAI,CAAC;IAAA,EAAC,CAC5FyC,OAAO,CAAC,YAAkD;MAAA,IAAjD;QAAEzC,IAAI;QAAE4E,SAAS,EAAEC,aAAa,GAAG;MAAG,CAAC,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;MACpD,MAAM;QAAE7E,UAAU,GAAG,EAAE;QAAEkG,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;QAAEC,IAAI,GAAG;MAAM,CAAC,GAAGC,4BAAO,CAAChF,IAAI,CAAC,IAAI,CAAC,CAAC;MAE9E,IAAIpB,UAAU,CAAC8E,MAAM,KAAK,CAAC,IAAI9E,UAAU,CAACqG,IAAI,CAAEC,IAAI,IAAKR,gBAAgB,CAACjD,QAAQ,CAACyD,IAAI,CAAC,CAAC,EAAE;QACzF,MAAMN,SAAS,GAAGG,IAAI,GAAG,CAACF,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGA,aAAa;QAC3DF,OAAO,CAAC7B,IAAI,CACV,GAAG8B,SAAS,CAAClE,GAAG,CAAC;UAAA,IAACyC,MAAM,GAAAM,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;UAAA,IAAE0B,KAAK,GAAA1B,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAnB,SAAA;UAAA,OAAM;YACxC8C,MAAM,iBAAAhB,MAAA,CAAiB,IAAAC,4BAAmB,EAACrE,IAAI,CAAC,CAAE;YAClDJ,EAAE,EAAEuF,KAAK,GAAG,CAAC;YACb,GAAGL,IAAI,CAAC;cAAE,GAAG3B,MAAM;cAAE1D,KAAK;cAAEiF;YAAiB,CAAC,CAAC;YAC/C1E;UACF,CAAC;QAAA,CAAC,CACJ,CAAC;MACH;IACF,CAAC,CAAC;IAEJV,QAAQ,CAAC,KAAK,CAAC;IACf,MAAM+F,OAAO,CAACC,GAAG,CAACX,OAAO,CAACjE,GAAG,CAAEyC,MAAM,IAAK,IAAAoC,oBAAU,EAACpC,MAAM,CAAC,CAAC,CAAC;IAC9D3D,QAAQ,CAACmF,OAAO,CAACjE,GAAG,CAAC;MAAA,IAAC;QAAEV;MAAK,CAAC,GAAAyD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAnB,SAAA,GAAAmB,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKzD,IAAI;IAAA,EAAC,CAAC;IAC9CV,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAACkG,OAAA,CAAAnH,kBAAA,GAAAA,kBAAA"}
@@ -14,14 +14,18 @@ const getConsentMode = () => {
14
14
  const {
15
15
  ics: {
16
16
  entries: {
17
- ad_personalization,
18
- ad_storage,
19
- ad_user_data,
20
- analytics_storage
17
+ ad_personalization = {},
18
+ ad_storage = {},
19
+ ad_user_data = {},
20
+ analytics_storage = {}
21
21
  } = {}
22
22
  } = {}
23
23
  } = window.google_tag_data || {};
24
- if (ad_personalization || ad_storage || ad_user_data || analytics_storage) {
24
+ const hasValue = function () {
25
+ let obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ return obj.update !== undefined || obj.default !== undefined;
27
+ };
28
+ if (hasValue(ad_personalization) || hasValue(ad_storage) || hasValue(ad_user_data) || hasValue(analytics_storage)) {
25
29
  granted = Object.values({
26
30
  ad_personalization,
27
31
  ad_storage,
@@ -1 +1 @@
1
- {"version":3,"file":"getConsentMode.js","names":["getConsentMode","granted","consentManagement","window","dataLayer","filter","item","map","pop","Object","values","length","value","ics","entries","ad_personalization","ad_storage","ad_user_data","analytics_storage","google_tag_data","arguments","undefined","update","default","exports"],"sources":["../../../../src/contexts/PerformanceManager/helpers/getConsentMode.js"],"sourcesContent":["export const getConsentMode = () => {\n let granted;\n\n const consentManagement =\n (window.dataLayer || [])\n .filter((item) => item[0] === 'consent' && item[1] === 'update')\n .map((item) => item[2])\n .pop() || {};\n\n if (Object.values(consentManagement).length) {\n granted = Object.values(consentManagement).filter((value) => value === 'granted').length >= 1;\n }\n\n if (!granted) {\n const { ics: { entries: { ad_personalization, ad_storage, ad_user_data, analytics_storage } = {} } = {} } =\n window.google_tag_data || {};\n\n if (ad_personalization || ad_storage || ad_user_data || analytics_storage) {\n granted =\n Object.values({ ad_personalization, ad_storage, ad_user_data, analytics_storage }).filter((value = {}) =>\n value.update !== undefined ? value.update : value.default,\n ).length >= 1;\n }\n }\n\n return granted;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAIC,OAAO;EAEX,MAAMC,iBAAiB,GACrB,CAACC,MAAM,CAACC,SAAS,IAAI,EAAE,EACpBC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC/DC,GAAG,CAAED,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAAC,CACtBE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;EAEhB,IAAIC,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACS,MAAM,EAAE;IAC3CV,OAAO,GAAGQ,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACG,MAAM,CAAEO,KAAK,IAAKA,KAAK,KAAK,SAAS,CAAC,CAACD,MAAM,IAAI,CAAC;EAC/F;EAEA,IAAI,CAACV,OAAO,EAAE;IACZ,MAAM;MAAEY,GAAG,EAAE;QAAEC,OAAO,EAAE;UAAEC,kBAAkB;UAAEC,UAAU;UAAEC,YAAY;UAAEC;QAAkB,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GACvGf,MAAM,CAACgB,eAAe,IAAI,CAAC,CAAC;IAE9B,IAAIJ,kBAAkB,IAAIC,UAAU,IAAIC,YAAY,IAAIC,iBAAiB,EAAE;MACzEjB,OAAO,GACLQ,MAAM,CAACC,MAAM,CAAC;QAAEK,kBAAkB;QAAEC,UAAU;QAAEC,YAAY;QAAEC;MAAkB,CAAC,CAAC,CAACb,MAAM,CAAC;QAAA,IAACO,KAAK,GAAAQ,SAAA,CAAAT,MAAA,QAAAS,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;QAAA,OACnGR,KAAK,CAACU,MAAM,KAAKD,SAAS,GAAGT,KAAK,CAACU,MAAM,GAAGV,KAAK,CAACW,OAAO;MAAA,CAC3D,CAAC,CAACZ,MAAM,IAAI,CAAC;IACjB;EACF;EAEA,OAAOV,OAAO;AAChB,CAAC;AAACuB,OAAA,CAAAxB,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"getConsentMode.js","names":["getConsentMode","granted","consentManagement","window","dataLayer","filter","item","map","pop","Object","values","length","value","ics","entries","ad_personalization","ad_storage","ad_user_data","analytics_storage","google_tag_data","hasValue","obj","arguments","undefined","update","default","exports"],"sources":["../../../../src/contexts/PerformanceManager/helpers/getConsentMode.js"],"sourcesContent":["export const getConsentMode = () => {\n let granted;\n\n const consentManagement =\n (window.dataLayer || [])\n .filter((item) => item[0] === 'consent' && item[1] === 'update')\n .map((item) => item[2])\n .pop() || {};\n\n if (Object.values(consentManagement).length) {\n granted = Object.values(consentManagement).filter((value) => value === 'granted').length >= 1;\n }\n\n if (!granted) {\n const {\n ics: {\n entries: { ad_personalization = {}, ad_storage = {}, ad_user_data = {}, analytics_storage = {} } = {},\n } = {},\n } = window.google_tag_data || {};\n\n const hasValue = (obj = {}) => obj.update !== undefined || obj.default !== undefined;\n\n if (hasValue(ad_personalization) || hasValue(ad_storage) || hasValue(ad_user_data) || hasValue(analytics_storage)) {\n granted =\n Object.values({ ad_personalization, ad_storage, ad_user_data, analytics_storage }).filter((value = {}) =>\n value.update !== undefined ? value.update : value.default,\n ).length >= 1;\n }\n }\n\n return granted;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAIC,OAAO;EAEX,MAAMC,iBAAiB,GACrB,CAACC,MAAM,CAACC,SAAS,IAAI,EAAE,EACpBC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC/DC,GAAG,CAAED,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAAC,CACtBE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;EAEhB,IAAIC,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACS,MAAM,EAAE;IAC3CV,OAAO,GAAGQ,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACG,MAAM,CAAEO,KAAK,IAAKA,KAAK,KAAK,SAAS,CAAC,CAACD,MAAM,IAAI,CAAC;EAC/F;EAEA,IAAI,CAACV,OAAO,EAAE;IACZ,MAAM;MACJY,GAAG,EAAE;QACHC,OAAO,EAAE;UAAEC,kBAAkB,GAAG,CAAC,CAAC;UAAEC,UAAU,GAAG,CAAC,CAAC;UAAEC,YAAY,GAAG,CAAC,CAAC;UAAEC,iBAAiB,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;MACtG,CAAC,GAAG,CAAC;IACP,CAAC,GAAGf,MAAM,CAACgB,eAAe,IAAI,CAAC,CAAC;IAEhC,MAAMC,QAAQ,GAAG,SAAAA,CAAA;MAAA,IAACC,GAAG,GAAAC,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKD,GAAG,CAACG,MAAM,KAAKD,SAAS,IAAIF,GAAG,CAACI,OAAO,KAAKF,SAAS;IAAA;IAEpF,IAAIH,QAAQ,CAACL,kBAAkB,CAAC,IAAIK,QAAQ,CAACJ,UAAU,CAAC,IAAII,QAAQ,CAACH,YAAY,CAAC,IAAIG,QAAQ,CAACF,iBAAiB,CAAC,EAAE;MACjHjB,OAAO,GACLQ,MAAM,CAACC,MAAM,CAAC;QAAEK,kBAAkB;QAAEC,UAAU;QAAEC,YAAY;QAAEC;MAAkB,CAAC,CAAC,CAACb,MAAM,CAAC;QAAA,IAACO,KAAK,GAAAU,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;QAAA,OACnGV,KAAK,CAACY,MAAM,KAAKD,SAAS,GAAGX,KAAK,CAACY,MAAM,GAAGZ,KAAK,CAACa,OAAO;MAAA,CAC3D,CAAC,CAACd,MAAM,IAAI,CAAC;IACjB;EACF;EAEA,OAAOV,OAAO;AAChB,CAAC;AAACyB,OAAA,CAAA1B,cAAA,GAAAA,cAAA"}
@@ -7,9 +7,6 @@ exports.bookingResponse = void 0;
7
7
  var _legacy = require("../helpers/legacy");
8
8
  const bookingResponse = function () {
9
9
  let {
10
- device: {
11
- mobile
12
- } = {},
13
10
  instances = [],
14
11
  response: {
15
12
  tracking = {}
@@ -102,7 +99,6 @@ const bookingResponse = function () {
102
99
  window.gtag('event', 'data_search_info', {
103
100
  checkin,
104
101
  checkout,
105
- device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
106
102
  hotelId,
107
103
  coupon,
108
104
  non_interaction: true,
@@ -1 +1 @@
1
- {"version":3,"file":"bookingResponse.js","names":["_legacy","require","bookingResponse","device","mobile","instances","response","tracking","arguments","length","undefined","bookingValues","checkin","checkout","hotelId","occupation","coupon","nights","hotelInfo","idReservation","pendingPayment","reservedExtras","reservedRooms","totalPriceCommission","totalPriceWithoutTaxes","totalTaxes","currency","hotelCurrency","propertyName","commonProps","affiliation","code","item_brand","rooms","map","_ref","averagePriceWithoutTaxes","defaultBoardDescription","numRoomsToReserve","rateId","rateName","roomTypeName","item_category","item_category2","item_category3","item_name","price","formatPrice","quantity","item_id","concat","extras","Object","keys","key","_ref2","id","name","multiplierPrice","priceWithoutTaxes","type","value","items","shipping","tax","transaction_id","send_to","idAnalytics","window","gtag","non_interaction","step","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/analytics/bookingResponse.js"],"sourcesContent":["import { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = ({ device: { mobile } = {}, instances = [], response: { tracking = {} } = {} } = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, hotelId, occupation, coupon = '', nights } = {},\n hotelInfo = {},\n idReservation,\n pendingPayment,\n reservedExtras = {},\n reservedRooms = [],\n totalPriceCommission,\n totalPriceWithoutTaxes,\n totalTaxes,\n } = tracking;\n\n const { currency: hotelCurrency = {}, propertyName } = hotelInfo;\n\n const commonProps = {\n affiliation: propertyName,\n coupon,\n currency: hotelCurrency.code,\n item_brand: propertyName,\n };\n\n const rooms = reservedRooms.map(\n ({ averagePriceWithoutTaxes, defaultBoardDescription, numRoomsToReserve, rateId, rateName, roomTypeName }) => ({\n ...commonProps,\n item_category: 'Habitación',\n item_category2: rateName,\n item_category3: defaultBoardDescription,\n item_name: roomTypeName,\n price: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n quantity: numRoomsToReserve * nights,\n item_id: `${rateId}`,\n }),\n );\n\n const extras = Object.keys(reservedExtras)\n .map((key) => reservedExtras[key])\n .map(({ id, name, multiplierPrice, priceWithoutTaxes, type }) => ({\n ...commonProps,\n item_category: 'Extra',\n item_category2: type,\n item_name: name,\n price: formatPrice(priceWithoutTaxes, hotelCurrency),\n quantity: multiplierPrice,\n item_id: `${id}`,\n }));\n\n const value = {\n affiliation: propertyName,\n coupon,\n currency: hotelCurrency.code,\n items: [...rooms, ...extras],\n shipping: totalPriceCommission,\n tax: formatPrice(totalTaxes, hotelCurrency),\n transaction_id: `Reservation code ${idReservation}`,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n };\n\n window.gtag('event', pendingPayment ? 'BTP' : 'purchase', value);\n window.gtag('event', 'data_search_info', {\n checkin,\n checkout,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n hotelId,\n coupon,\n non_interaction: true,\n occupation,\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n step: 'CONFIRMATION',\n });\n\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAG,SAAAA,CAAA,EAAwF;EAAA,IAAvF;IAAEC,MAAM,EAAE;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,EAAE;IAAEC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAChH;EACA,MAAM;IACJG,aAAa,EAAE;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,OAAO;MAAEC,UAAU;MAAEC,MAAM,GAAG,EAAE;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IACnFC,SAAS,GAAG,CAAC,CAAC;IACdC,aAAa;IACbC,cAAc;IACdC,cAAc,GAAG,CAAC,CAAC;IACnBC,aAAa,GAAG,EAAE;IAClBC,oBAAoB;IACpBC,sBAAsB;IACtBC;EACF,CAAC,GAAGlB,QAAQ;EAEZ,MAAM;IAAEmB,QAAQ,EAAEC,aAAa,GAAG,CAAC,CAAC;IAAEC;EAAa,CAAC,GAAGV,SAAS;EAEhE,MAAMW,WAAW,GAAG;IAClBC,WAAW,EAAEF,YAAY;IACzBZ,MAAM;IACNU,QAAQ,EAAEC,aAAa,CAACI,IAAI;IAC5BC,UAAU,EAAEJ;EACd,CAAC;EAED,MAAMK,KAAK,GAAGX,aAAa,CAACY,GAAG,CAC7BC,IAAA;IAAA,IAAC;MAAEC,wBAAwB;MAAEC,uBAAuB;MAAEC,iBAAiB;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAa,CAAC,GAAAN,IAAA;IAAA,OAAM;MAC7G,GAAGN,WAAW;MACda,aAAa,EAAE,YAAY;MAC3BC,cAAc,EAAEH,QAAQ;MACxBI,cAAc,EAAEP,uBAAuB;MACvCQ,SAAS,EAAEJ,YAAY;MACvBK,KAAK,EAAE,IAAAC,mBAAW,EAACX,wBAAwB,EAAET,aAAa,CAAC;MAC3DqB,QAAQ,EAAEV,iBAAiB,GAAGrB,MAAM;MACpCgC,OAAO,KAAAC,MAAA,CAAKX,MAAM;IACpB,CAAC;EAAA,CACH,CAAC;EAED,MAAMY,MAAM,GAAGC,MAAM,CAACC,IAAI,CAAChC,cAAc,CAAC,CACvCa,GAAG,CAAEoB,GAAG,IAAKjC,cAAc,CAACiC,GAAG,CAAC,CAAC,CACjCpB,GAAG,CAACqB,KAAA;IAAA,IAAC;MAAEC,EAAE;MAAEC,IAAI;MAAEC,eAAe;MAAEC,iBAAiB;MAAEC;IAAK,CAAC,GAAAL,KAAA;IAAA,OAAM;MAChE,GAAG1B,WAAW;MACda,aAAa,EAAE,OAAO;MACtBC,cAAc,EAAEiB,IAAI;MACpBf,SAAS,EAAEY,IAAI;MACfX,KAAK,EAAE,IAAAC,mBAAW,EAACY,iBAAiB,EAAEhC,aAAa,CAAC;MACpDqB,QAAQ,EAAEU,eAAe;MACzBT,OAAO,KAAAC,MAAA,CAAKM,EAAE;IAChB,CAAC;EAAA,CAAC,CAAC;EAEL,MAAMK,KAAK,GAAG;IACZ/B,WAAW,EAAEF,YAAY;IACzBZ,MAAM;IACNU,QAAQ,EAAEC,aAAa,CAACI,IAAI;IAC5B+B,KAAK,EAAE,CAAC,GAAG7B,KAAK,EAAE,GAAGkB,MAAM,CAAC;IAC5BY,QAAQ,EAAExC,oBAAoB;IAC9ByC,GAAG,EAAE,IAAAjB,mBAAW,EAACtB,UAAU,EAAEE,aAAa,CAAC;IAC3CsC,cAAc,sBAAAf,MAAA,CAAsB/B,aAAa,CAAE;IACnD0C,KAAK,EAAE,IAAAd,mBAAW,EAACvB,sBAAsB,EAAEG,aAAa,CAAC;IACzDuC,OAAO,EAAE7D,SAAS,CAAC6B,GAAG,CAAC;MAAA,IAAC;QAAEiC;MAAY,CAAC,GAAA3D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK2D,WAAW;IAAA;EAC9D,CAAC;EAEDC,MAAM,CAACC,IAAI,CAAC,OAAO,EAAEjD,cAAc,GAAG,KAAK,GAAG,UAAU,EAAEyC,KAAK,CAAC;EAChEO,MAAM,CAACC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE;IACvCzD,OAAO;IACPC,QAAQ;IACRV,MAAM,EAAEC,MAAM,GAAG,QAAQ,GAAG,gBAAgB;IAC5CU,OAAO;IACPE,MAAM;IACNsD,eAAe,EAAE,IAAI;IACrBvD,UAAU;IACVmD,OAAO,EAAE7D,SAAS,CAAC6B,GAAG,CAAC;MAAA,IAAC;QAAEiC;MAAY,CAAC,GAAA3D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK2D,WAAW;IAAA,EAAC;IAC7DI,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,OAAOV,KAAK;AACd,CAAC;AAACW,OAAA,CAAAtE,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"file":"bookingResponse.js","names":["_legacy","require","bookingResponse","instances","response","tracking","arguments","length","undefined","bookingValues","checkin","checkout","hotelId","occupation","coupon","nights","hotelInfo","idReservation","pendingPayment","reservedExtras","reservedRooms","totalPriceCommission","totalPriceWithoutTaxes","totalTaxes","currency","hotelCurrency","propertyName","commonProps","affiliation","code","item_brand","rooms","map","_ref","averagePriceWithoutTaxes","defaultBoardDescription","numRoomsToReserve","rateId","rateName","roomTypeName","item_category","item_category2","item_category3","item_name","price","formatPrice","quantity","item_id","concat","extras","Object","keys","key","_ref2","id","name","multiplierPrice","priceWithoutTaxes","type","value","items","shipping","tax","transaction_id","send_to","idAnalytics","window","gtag","non_interaction","step","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/analytics/bookingResponse.js"],"sourcesContent":["import { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = ({ instances = [], response: { tracking = {} } = {} } = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, hotelId, occupation, coupon = '', nights } = {},\n hotelInfo = {},\n idReservation,\n pendingPayment,\n reservedExtras = {},\n reservedRooms = [],\n totalPriceCommission,\n totalPriceWithoutTaxes,\n totalTaxes,\n } = tracking;\n\n const { currency: hotelCurrency = {}, propertyName } = hotelInfo;\n\n const commonProps = {\n affiliation: propertyName,\n coupon,\n currency: hotelCurrency.code,\n item_brand: propertyName,\n };\n\n const rooms = reservedRooms.map(\n ({ averagePriceWithoutTaxes, defaultBoardDescription, numRoomsToReserve, rateId, rateName, roomTypeName }) => ({\n ...commonProps,\n item_category: 'Habitación',\n item_category2: rateName,\n item_category3: defaultBoardDescription,\n item_name: roomTypeName,\n price: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n quantity: numRoomsToReserve * nights,\n item_id: `${rateId}`,\n }),\n );\n\n const extras = Object.keys(reservedExtras)\n .map((key) => reservedExtras[key])\n .map(({ id, name, multiplierPrice, priceWithoutTaxes, type }) => ({\n ...commonProps,\n item_category: 'Extra',\n item_category2: type,\n item_name: name,\n price: formatPrice(priceWithoutTaxes, hotelCurrency),\n quantity: multiplierPrice,\n item_id: `${id}`,\n }));\n\n const value = {\n affiliation: propertyName,\n coupon,\n currency: hotelCurrency.code,\n items: [...rooms, ...extras],\n shipping: totalPriceCommission,\n tax: formatPrice(totalTaxes, hotelCurrency),\n transaction_id: `Reservation code ${idReservation}`,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n };\n\n window.gtag('event', pendingPayment ? 'BTP' : 'purchase', value);\n window.gtag('event', 'data_search_info', {\n checkin,\n checkout,\n hotelId,\n coupon,\n non_interaction: true,\n occupation,\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n step: 'CONFIRMATION',\n });\n\n return value;\n};\n"],"mappings":"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"}