@mirai/core 0.3.418 → 0.3.420

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 (24) hide show
  1. package/build/components/Checkout/partials/Checkout.Confirmation.js +3 -0
  2. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  3. package/build/components/Finder/components/Places/Places.js +7 -0
  4. package/build/components/Finder/components/Places/Places.js.map +1 -1
  5. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +16 -0
  6. package/build/components/Rates/components/Filters/Filters.js +1 -1
  7. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  8. package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
  9. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  10. package/build/components/__shared__/BookingSummary/BookingSummary.js +25 -16
  11. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  12. package/build/components/__shared__/BookingTable/BookingTable.js +11 -0
  13. package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
  14. package/build/components/__shared__/BookingTerms/BookingTerms.js +21 -1
  15. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  16. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +24 -1
  17. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
  18. package/build/components/__shared__/Payment/Payment.js +22 -2
  19. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  20. package/build/contexts/PerfomanceManager/PerfomanceManager.js +2 -1
  21. package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
  22. package/build/index.js +1 -1
  23. package/build/index.js.map +1 -1
  24. package/package.json +1 -1
@@ -67,6 +67,9 @@ const Confirmation = _ref => {
67
67
  } = prepayment[payment === null || payment === void 0 ? void 0 : payment.method] || {};
68
68
  const handleError = () => setBusy(false);
69
69
  const handlePress = () => {
70
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
71
+ id: 'CHECKOUT:SUBMIT'
72
+ });
70
73
  if (error) {
71
74
  onError();
72
75
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","id","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","METRICS","id","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
@@ -53,6 +53,7 @@ const Places = _ref => {
53
53
  let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
54
  let index = arguments.length > 1 ? arguments[1] : undefined;
55
55
  const {
56
+ id: [idHotel] = [],
56
57
  isHotel,
57
58
  level,
58
59
  title,
@@ -67,6 +68,12 @@ const Places = _ref => {
67
68
  } : {
68
69
  row: true
69
70
  }),
71
+ ...(isHotel ? {
72
+ ['data-hotel-id']: idHotel,
73
+ role: 'hotel'
74
+ } : {
75
+ role: 'location'
76
+ }),
70
77
  testId: testId ? "".concat(testId, "-item-").concat(index) : undefined
71
78
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
72
79
  action: level !== 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","useEffect","isMobile","calcColumns","undefined","testId","createElement","View","role","className","container","ScrollView","snap","tag","styles","scrollview","concat","map","item","arguments","length","index","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","row","Text","action","bold","markdown","repeat","footer","Button","disabled","button","submit","L10N","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","id","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn) setColumns(autoColumn ? calcColumns({ dataSource, device }) : undefined);\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n return (\n <View role=\"places\" className={style.container}>\n <ScrollView\n snap\n tag=\"ul\"\n className={styles(style.scrollview, columns && style.columns, columns && style[`columns${columns}`])}\n testId={testId}\n >\n {dataSource.map((item = {}, index) => {\n const { isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n\n {onSubmit && (\n <View className={style.footer}>\n <Button\n disabled={!value}\n className={[style.button, style.submit]}\n onPress={onSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","useEffect","isMobile","calcColumns","undefined","testId","createElement","View","role","className","container","ScrollView","snap","tag","styles","scrollview","concat","map","item","arguments","length","index","id","idHotel","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","row","Text","action","bold","markdown","repeat","footer","Button","disabled","button","submit","L10N","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn) setColumns(autoColumn ? calcColumns({ dataSource, device }) : undefined);\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n return (\n <View role=\"places\" className={style.container}>\n <ScrollView\n snap\n tag=\"ul\"\n className={styles(style.scrollview, columns && style.columns, columns && style[`columns${columns}`])}\n testId={testId}\n >\n {dataSource.map((item = {}, index) => {\n const { id: [idHotel] = [], isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n ...(isHotel ? { ['data-hotel-id']: idHotel, role: 'hotel' } : { role: 'location' }),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n\n {onSubmit && (\n <View className={style.footer}>\n <Button\n disabled={!value}\n className={[style.button, style.submit]}\n onPress={onSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":"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"}
@@ -20,6 +20,7 @@ exports[`<Places> inherit:className 1`] = `
20
20
  </ui-li>
21
21
  <ui-li
22
22
  class="pressable"
23
+ data-hotel-id="100375683"
23
24
  tabindex="0"
24
25
  >
25
26
  <ui-text
@@ -30,6 +31,7 @@ exports[`<Places> inherit:className 1`] = `
30
31
  </ui-li>
31
32
  <ui-li
32
33
  class="pressable"
34
+ data-hotel-id="100375682"
33
35
  tabindex="0"
34
36
  >
35
37
  <ui-text
@@ -40,6 +42,7 @@ exports[`<Places> inherit:className 1`] = `
40
42
  </ui-li>
41
43
  <ui-li
42
44
  class="pressable"
45
+ data-hotel-id="100375681"
43
46
  tabindex="0"
44
47
  >
45
48
  <ui-text
@@ -60,6 +63,7 @@ exports[`<Places> inherit:className 1`] = `
60
63
  </ui-li>
61
64
  <ui-li
62
65
  class="pressable"
66
+ data-hotel-id="100375684"
63
67
  tabindex="0"
64
68
  >
65
69
  <ui-text
@@ -93,6 +97,7 @@ exports[`<Places> prop:autoColumn 1`] = `
93
97
  </ui-li>
94
98
  <ui-li
95
99
  class="pressable"
100
+ data-hotel-id="100375683"
96
101
  tabindex="0"
97
102
  >
98
103
  <ui-text
@@ -103,6 +108,7 @@ exports[`<Places> prop:autoColumn 1`] = `
103
108
  </ui-li>
104
109
  <ui-li
105
110
  class="pressable"
111
+ data-hotel-id="100375682"
106
112
  tabindex="0"
107
113
  >
108
114
  <ui-text
@@ -113,6 +119,7 @@ exports[`<Places> prop:autoColumn 1`] = `
113
119
  </ui-li>
114
120
  <ui-li
115
121
  class="pressable"
122
+ data-hotel-id="100375681"
116
123
  tabindex="0"
117
124
  >
118
125
  <ui-text
@@ -133,6 +140,7 @@ exports[`<Places> prop:autoColumn 1`] = `
133
140
  </ui-li>
134
141
  <ui-li
135
142
  class="pressable"
143
+ data-hotel-id="100375684"
136
144
  tabindex="0"
137
145
  >
138
146
  <ui-text
@@ -166,6 +174,7 @@ exports[`<Places> prop:value 1`] = `
166
174
  </ui-li>
167
175
  <ui-li
168
176
  class="pressable"
177
+ data-hotel-id="100375683"
169
178
  tabindex="0"
170
179
  >
171
180
  <ui-text
@@ -176,6 +185,7 @@ exports[`<Places> prop:value 1`] = `
176
185
  </ui-li>
177
186
  <ui-li
178
187
  class="pressable"
188
+ data-hotel-id="100375682"
179
189
  tabindex="0"
180
190
  >
181
191
  <ui-text
@@ -186,6 +196,7 @@ exports[`<Places> prop:value 1`] = `
186
196
  </ui-li>
187
197
  <ui-li
188
198
  class="pressable"
199
+ data-hotel-id="100375681"
189
200
  tabindex="0"
190
201
  >
191
202
  <ui-text
@@ -206,6 +217,7 @@ exports[`<Places> prop:value 1`] = `
206
217
  </ui-li>
207
218
  <ui-li
208
219
  class="pressable"
220
+ data-hotel-id="100375684"
209
221
  tabindex="0"
210
222
  >
211
223
  <ui-text
@@ -253,6 +265,7 @@ exports[`<Places> testID 1`] = `
253
265
  </ui-li>
254
266
  <ui-li
255
267
  class="pressable"
268
+ data-hotel-id="100375683"
256
269
  data-testid="mirai-item-1"
257
270
  tabindex="0"
258
271
  >
@@ -264,6 +277,7 @@ exports[`<Places> testID 1`] = `
264
277
  </ui-li>
265
278
  <ui-li
266
279
  class="pressable"
280
+ data-hotel-id="100375682"
267
281
  data-testid="mirai-item-2"
268
282
  tabindex="0"
269
283
  >
@@ -275,6 +289,7 @@ exports[`<Places> testID 1`] = `
275
289
  </ui-li>
276
290
  <ui-li
277
291
  class="pressable"
292
+ data-hotel-id="100375681"
278
293
  data-testid="mirai-item-3"
279
294
  tabindex="0"
280
295
  >
@@ -297,6 +312,7 @@ exports[`<Places> testID 1`] = `
297
312
  </ui-li>
298
313
  <ui-li
299
314
  class="pressable"
315
+ data-hotel-id="100375684"
300
316
  data-testid="mirai-item-5"
301
317
  tabindex="0"
302
318
  >
@@ -151,7 +151,7 @@ const Filters = _ref => {
151
151
  timeoutRange = setTimeout(() => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
152
152
  id: "RATES:FILTERS:".concat(field),
153
153
  value
154
- }), 500);
154
+ }), _helpers2.SUBMIT_DELAY / 2);
155
155
  };
156
156
  const handleBookingOption = async (field, value) => {
157
157
  const next = {
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","timeoutRange","Filters","_ref","clubConditions","items","propItems","priceFactor","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleModal","next","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({ clubConditions, items: propItems = [], priceFactor = 1, onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }), 500);\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","timeoutRange","Filters","_ref","clubConditions","items","propItems","priceFactor","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleModal","next","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","SUBMIT_DELAY","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({ clubConditions, items: propItems = [], priceFactor = 1, onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }),\n SUBMIT_DELAY / 2,\n );\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -39,6 +39,7 @@ const BookingDetails = _ref => {
39
39
  variants = []
40
40
  } = {}
41
41
  } = {},
42
+ components = {},
42
43
  hotel: {
43
44
  id: hotelId
44
45
  } = {},
@@ -64,7 +65,11 @@ const BookingDetails = _ref => {
64
65
  }, [propExpanded]);
65
66
  const handlePress = () => {
66
67
  setExpanded(true);
68
+ if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
69
+ id: "".concat(metrics, ":DETAILS:VIEW_MORE")
70
+ });
67
71
  };
72
+ const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;
68
73
  const {
69
74
  currency,
70
75
  details = [],
@@ -1 +1 @@
1
- {"version":3,"file":"BookingDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingDetails","_BookingDetails2","style","_","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingDetails","_ref","dataSource","expanded","propExpanded","others","isDesktop","isMobile","useDevice","translate","useLocale","value","config","accomodation","occupation","variants","hotel","id","hotelId","urlParams","roomNumberBySelectedRoom","useStore","setExpanded","useState","useEffect","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","currency","propsTable","roomNumber","getRoomNumber","multiRoom","createElement","View","className","styles","Text","bold","headline","L10N","LABEL_BOOKING_DETAILS","slice","undefined","map","_variants$find","amount","image","observations","adults","babies","children","rate","type","wide","row","item","backgroundImage","concat","inline","action","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","replace","trim","light","small","getRoomOccupationLabel","find","_ref2","Number","BookingTable","showTotal","Fragment","label","LABEL_EXTRAS","LABEL_OBSERVATIONS","index","LABEL_BOOKING_EXTRAS","ButtonMore","onPress","buttonMore","testId","exports","displayName","propTypes","PropTypes","shape","bool"],"sources":["../../../../src/components/__shared__/BookingDetails/BookingDetails.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { MAX_VISIBLE_DETAILS } from './BookingDetails.constants';\nimport { L10N } from './BookingDetails.l10n';\nimport * as style from './BookingDetails.module.css';\nimport { BookingTable, ButtonMore } from '..';\nimport { getRoomNumber, getRoomOccupationLabel } from '../../helpers';\n\nconst BookingDetails = ({ dataSource = {}, expanded: propExpanded = false, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n hotel: { id: hotelId } = {},\n urlParams: { roomNumberBySelectedRoom } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(propExpanded);\n\n useEffect(() => {\n const { details: [{ items = [] } = {}] = [], extras = [] } = dataSource;\n setExpanded(!isDesktop || (items.length <= MAX_VISIBLE_DETAILS && extras.length === 0));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setExpanded(propExpanded);\n }, [propExpanded]);\n\n const handlePress = () => {\n setExpanded(true);\n };\n\n const { currency, details = [], extras = [] } = dataSource;\n const propsTable = { currency };\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const multiRoom = details.length > 1;\n\n return (\n <View {...others} className={styles(style.details, others.className)}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_DETAILS)}\n </Text>\n\n {details\n .slice(0, expanded ? undefined : 1)\n .map(\n (\n {\n amount,\n extras = [],\n image,\n items = [],\n observations = [],\n occupation: { adults, babies, children } = {},\n rate,\n type,\n } = {},\n key,\n ) => (\n <View key={key} wide>\n <View row className={style.item}>\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n <View>\n <View row className={style.inline}>\n <Text action={isMobile} bold>\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 <Text action>{rate.replace(`${type}:`, '').trim()}</Text>\n <Text light small>\n {getRoomOccupationLabel({\n adults,\n babies,\n children,\n dataSource: variants.find(({ id }) => id === Number(hotelId))?.occupation || occupation,\n translate,\n })}\n </Text>\n </View>\n </View>\n\n <BookingTable\n {...propsTable}\n dataSource={items.slice(0, expanded ? undefined : MAX_VISIBLE_DETAILS)}\n showTotal={multiRoom && expanded}\n />\n\n {expanded && (\n <>\n <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_EXTRAS)} />\n\n {observations.length > 0 && (\n <View className={style.observations}>\n <Text bold small>\n {translate(L10N.LABEL_OBSERVATIONS)}\n </Text>\n {observations.map((item, index) => (\n <Text key={index} small>\n {item}\n </Text>\n ))}\n </View>\n )}\n </>\n )}\n </View>\n ),\n )}\n\n {expanded && <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_BOOKING_EXTRAS)} />}\n\n {isDesktop && !expanded && <ButtonMore onPress={handlePress} className={style.buttonMore} testId=\"button-more\" />}\n </View>\n );\n};\n\nBookingDetails.displayName = 'Mirai:Core:BookingDetails';\n\nBookingDetails.propTypes = {\n dataSource: PropTypes.shape({}),\n expanded: PropTypes.bool,\n};\n\nexport { BookingDetails };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingDetails","_BookingDetails2","style","_","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingDetails","_ref","dataSource","expanded","propExpanded","others","isDesktop","isMobile","useDevice","translate","useLocale","value","config","accomodation","occupation","variants","components","hotel","id","hotelId","urlParams","roomNumberBySelectedRoom","useStore","setExpanded","useState","useEffect","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","metrics","Event","publish","EVENT","METRICS","concat","checkout","booking","undefined","currency","propsTable","roomNumber","getRoomNumber","multiRoom","createElement","View","className","styles","Text","bold","headline","L10N","LABEL_BOOKING_DETAILS","slice","map","_variants$find","amount","image","observations","adults","babies","children","rate","type","wide","row","item","backgroundImage","inline","action","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","replace","trim","light","small","getRoomOccupationLabel","find","_ref2","Number","BookingTable","showTotal","Fragment","label","LABEL_EXTRAS","LABEL_OBSERVATIONS","index","LABEL_BOOKING_EXTRAS","ButtonMore","onPress","buttonMore","testId","exports","displayName","propTypes","PropTypes","shape","bool"],"sources":["../../../../src/components/__shared__/BookingDetails/BookingDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { MAX_VISIBLE_DETAILS } from './BookingDetails.constants';\nimport { L10N } from './BookingDetails.l10n';\nimport * as style from './BookingDetails.module.css';\nimport { BookingTable, ButtonMore } from '..';\nimport { EVENT, getRoomNumber, getRoomOccupationLabel } from '../../helpers';\n\nconst BookingDetails = ({ dataSource = {}, expanded: propExpanded = false, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n components = {},\n hotel: { id: hotelId } = {},\n urlParams: { roomNumberBySelectedRoom } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(propExpanded);\n\n useEffect(() => {\n const { details: [{ items = [] } = {}] = [], extras = [] } = dataSource;\n setExpanded(!isDesktop || (items.length <= MAX_VISIBLE_DETAILS && extras.length === 0));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setExpanded(propExpanded);\n }, [propExpanded]);\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 { currency, details = [], extras = [] } = dataSource;\n const propsTable = { currency };\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const multiRoom = details.length > 1;\n\n return (\n <View {...others} className={styles(style.details, others.className)}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_DETAILS)}\n </Text>\n\n {details\n .slice(0, expanded ? undefined : 1)\n .map(\n (\n {\n amount,\n extras = [],\n image,\n items = [],\n observations = [],\n occupation: { adults, babies, children } = {},\n rate,\n type,\n } = {},\n key,\n ) => (\n <View key={key} wide>\n <View row className={style.item}>\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n <View>\n <View row className={style.inline}>\n <Text action={isMobile} bold>\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 <Text action>{rate.replace(`${type}:`, '').trim()}</Text>\n <Text light small>\n {getRoomOccupationLabel({\n adults,\n babies,\n children,\n dataSource: variants.find(({ id }) => id === Number(hotelId))?.occupation || occupation,\n translate,\n })}\n </Text>\n </View>\n </View>\n\n <BookingTable\n {...propsTable}\n dataSource={items.slice(0, expanded ? undefined : MAX_VISIBLE_DETAILS)}\n showTotal={multiRoom && expanded}\n />\n\n {expanded && (\n <>\n <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_EXTRAS)} />\n\n {observations.length > 0 && (\n <View className={style.observations}>\n <Text bold small>\n {translate(L10N.LABEL_OBSERVATIONS)}\n </Text>\n {observations.map((item, index) => (\n <Text key={index} small>\n {item}\n </Text>\n ))}\n </View>\n )}\n </>\n )}\n </View>\n ),\n )}\n\n {expanded && <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_BOOKING_EXTRAS)} />}\n\n {isDesktop && !expanded && <ButtonMore onPress={handlePress} className={style.buttonMore} testId=\"button-more\" />}\n </View>\n );\n};\n\nBookingDetails.displayName = 'Mirai:Core:BookingDetails';\n\nBookingDetails.propTypes = {\n dataSource: PropTypes.shape({}),\n expanded: PropTypes.bool,\n};\n\nexport { BookingDetails };\n"],"mappings":"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"}
@@ -75,26 +75,35 @@ const BookingSummary = _ref => {
75
75
  nights
76
76
  } = dataSource;
77
77
  const handleBack = () => {
78
- document.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_BookingSummary.REDIRECT_PATH).concat((0, _helpers.toUrlParams)({
79
- applyClubDiscount,
80
- chainSelectorValue,
81
- checkin,
82
- clientCodeStrictSearch,
83
- currency,
84
- deviceType,
85
- env,
86
- home,
87
- hsri,
88
- idchain,
89
- idtokenprovider,
90
- lang: language,
91
- nights,
92
- parties
93
- }));
78
+ if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
79
+ id: "".concat(metrics, ":CHANGE_SELECTION")
80
+ });
81
+ setTimeout(() => {
82
+ document.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_BookingSummary.REDIRECT_PATH).concat((0, _helpers.toUrlParams)({
83
+ applyClubDiscount,
84
+ chainSelectorValue,
85
+ checkin,
86
+ clientCodeStrictSearch,
87
+ currency,
88
+ deviceType,
89
+ env,
90
+ home,
91
+ hsri,
92
+ idchain,
93
+ idtokenprovider,
94
+ lang: language,
95
+ nights,
96
+ parties
97
+ }));
98
+ }, [_helpers.SUBMIT_DELAY]);
94
99
  };
95
100
  const handlePress = () => {
96
101
  setExpanded(true);
102
+ if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
103
+ id: "".concat(metrics, ":DETAILS:VIEW_MORE")
104
+ });
97
105
  };
106
+ const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;
98
107
  const {
99
108
  days
100
109
  } = (0, _locale.dateDiff)((0, _locale.parseDate)(checkIn), (0, _locale.parseDate)(checkOut));