@mirai/core 0.4.588 → 0.4.590

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.
@@ -263,14 +263,14 @@ const Checkout = _ref => {
263
263
  }), tpvError && translate(_Checkout2.L10N.NOTIFICATION_UNKNOWN_POS_ERROR)), !isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingSummary, {
264
264
  box: true,
265
265
  dataSource: dataSource
266
- }, /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
266
+ }, variant !== _Core.VARIANT.B && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
267
267
  dataSource: dataSource,
268
268
  expanded: true
269
269
  })), /*#__PURE__*/_react.default.createElement(_partials.Form, {
270
270
  dataSource: dataSource,
271
271
  showErrors: hasRequiredFields,
272
272
  onError: setError
273
- }), isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
273
+ }), (isDesktop || variant === _Core.VARIANT.B) && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
274
274
  dataSource: dataSource,
275
275
  className: style.box
276
276
  }), /*#__PURE__*/_react.default.createElement(_shared__.BookingTerms, {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_partials","_Core","_getSearchProps","_shared__","_Booking","_Header","_helpers","_Rates","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_objectDestructuringEmpty","_extends","assign","bind","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","_useStore","useStore","checkout","currency","finder","hotel","language","locale","payment","storePayment","session","skeleton","urlParams","posError","tpvError","variant","busy","setBusy","useState","dataSource","setDataSource","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","validateError","setValidateError","checkoutMetricsSent","useRef","useEffect","_price$discounts","_price$discounts$find","_price$discounts$find2","_dataSource$payment","_dataSource$payment$c","current","countryCode","price","mandatoryFieldsCount","values","form","field","undefined","required","input","INPUT","OPTION","countries","includes","methods","Array","isArray","paymentMethodsAvailable","map","method","paymentMethodsCount","extrasSelectedCount","extras","details","reduce","total","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","CHECKOUT_READY","getSearchProps","store","is_loyalty_rate","applyClubDiscount","loyalty_savings_amount","discounts","find","discount","type","DISCOUNT_TYPE","CLUB","amount","total_amount","extras_selected_count","payment_gateway","config","provider","payment_methods_available","payment_methods_count","mandatory_fields_count","is_refundable","refundable","fetch","EXTRA_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","PRICE_CHANGED","VALIDATE_ERROR","replaceUrlParams","totalPrice","document","location","href","getRatesUrl","notification","promocode","ERROR","UNKNOWN","cancel","response","ServiceBooking","catch","URL_GENERIC","betterPrice","CHECKOUT_RESPONSE","event","NOTIFICATION","success","warning","defaultMessage","L10N","NOTIFICATION_BETTER_PRICE","NOTIFICATION_PRICE_CHANGED","CHECKOUT_INTERACTION","action","notification_type","notification_message","handleModalAgency","handleErrorConfirmation","entries","_ref2","field_name","field_group","key","error_type","window","scrollTo","top","behavior","agency","hasRequiredFields","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","schema","name","Notification","small","info","concat","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { INPUT } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Form } from './partials';\nimport { ERROR, VALIDATE_ERROR } from '../../Core.constants';\nimport { getSearchProps } from '../../helpers/getSearchProps';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, getRatesUrl, METRICS_EVENTS, replaceUrlParams } from '../helpers';\nimport { DISCOUNT_TYPE } from '../Rates/Rates.constants';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout = {},\n currency,\n finder = {},\n hotel,\n language,\n locale,\n payment: storePayment = {},\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n const [validateError, setValidateError] = useState();\n const checkoutMetricsSent = useRef(false);\n\n useEffect(() => {\n if (skeleton || !dataSource || checkoutMetricsSent.current) return;\n\n const { countryCode, price = {}, payment = {} } = dataSource;\n const mandatoryFieldsCount = Object.values(dataSource.form || {}).filter(\n (field = {}) =>\n field.required && field.input !== INPUT.OPTION && (!field.countries || field.countries.includes(countryCode)),\n ).length;\n const methods = Array.isArray(payment.methods) ? payment.methods : Object.keys(payment.methods || {});\n const paymentMethodsAvailable = (methods || []).map((method) => method);\n const paymentMethodsCount = paymentMethodsAvailable.length;\n const extrasSelectedCount =\n (dataSource.extras || []).length +\n (dataSource.details || []).reduce((total, { extras = [] } = {}) => total + extras.length, 0);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_READY,\n ...getSearchProps({ store: { finder, currency, language, locale, urlParams }, dataSource }),\n is_loyalty_rate: urlParams.applyClubDiscount === 'true',\n loyalty_savings_amount: price.discounts?.find?.((discount) => discount.type === DISCOUNT_TYPE.CLUB)?.amount || 0,\n total_amount: price.total,\n extras_selected_count: extrasSelectedCount,\n payment_gateway: dataSource.payment?.config?.provider || undefined,\n payment_methods_available: paymentMethodsAvailable,\n payment_methods_count: paymentMethodsCount,\n mandatory_fields_count: mandatoryFieldsCount,\n is_refundable: urlParams.refundable === 'true',\n });\n\n checkoutMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => await fetch())();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\n\n useEffect(() => {\n if (!validateError) return;\n\n const { EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS, PRICE_CHANGED } =\n VALIDATE_ERROR;\n (async () => {\n const { price, type } = validateError;\n\n if (type === PRICE_CHANGED && price) {\n replaceUrlParams({ totalPrice: price });\n await fetch(price);\n } else if ([EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS].includes(type)) {\n document.location.href = getRatesUrl({\n currency,\n language,\n notification: type,\n promocode: finder.promocode || '',\n variant,\n ...urlParams,\n });\n } else {\n setResponseError(ERROR.UNKNOWN);\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateError]);\n\n const fetch = async (price) => {\n setBusy(true);\n let cancel = false;\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...(price ? { totalPrice: price } : undefined),\n }).catch((error) => {\n if (error.type) {\n setValidateError(validateError?.price && error?.price ? { type: VALIDATE_ERROR.URL_GENERIC } : error);\n cancel = true;\n } else setResponseError(error);\n });\n if (cancel) return;\n\n setBusy(false);\n setValidateError();\n if (response) {\n setDataSource(response);\n const betterPrice = price && price < urlParams.totalPrice;\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n if (betterPrice !== undefined) {\n Event.publish(EVENT.NOTIFICATION, {\n ...(betterPrice ? { success: true } : { warning: true }),\n defaultMessage: translate(betterPrice ? L10N.NOTIFICATION_BETTER_PRICE : L10N.NOTIFICATION_PRICE_CHANGED),\n });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_INTERACTION,\n action: 'notification_show',\n notification_type: betterPrice ? 'success' : 'warning',\n notification_message: betterPrice ? 'price_decreased' : 'price_increased',\n });\n }\n }\n };\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n Object.entries(error || {}).forEach(([field, value]) => {\n if (!value) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_INTERACTION,\n action: 'field_error',\n field_name: field,\n field_group: Object.keys(checkout).find((key) => key === field) ? 'personal_data' : 'payment_data',\n error_type: value?.required || !storePayment[field] ? 'required_empty' : 'invalid_format',\n });\n });\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_partials","_Core","_getSearchProps","_shared__","_Booking","_Header","_helpers","_Rates","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_objectDestructuringEmpty","_extends","assign","bind","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","_useStore","useStore","checkout","currency","finder","hotel","language","locale","payment","storePayment","session","skeleton","urlParams","posError","tpvError","variant","busy","setBusy","useState","dataSource","setDataSource","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","validateError","setValidateError","checkoutMetricsSent","useRef","useEffect","_price$discounts","_price$discounts$find","_price$discounts$find2","_dataSource$payment","_dataSource$payment$c","current","countryCode","price","mandatoryFieldsCount","values","form","field","undefined","required","input","INPUT","OPTION","countries","includes","methods","Array","isArray","paymentMethodsAvailable","map","method","paymentMethodsCount","extrasSelectedCount","extras","details","reduce","total","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","CHECKOUT_READY","getSearchProps","store","is_loyalty_rate","applyClubDiscount","loyalty_savings_amount","discounts","find","discount","type","DISCOUNT_TYPE","CLUB","amount","total_amount","extras_selected_count","payment_gateway","config","provider","payment_methods_available","payment_methods_count","mandatory_fields_count","is_refundable","refundable","fetch","EXTRA_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","PRICE_CHANGED","VALIDATE_ERROR","replaceUrlParams","totalPrice","document","location","href","getRatesUrl","notification","promocode","ERROR","UNKNOWN","cancel","response","ServiceBooking","catch","URL_GENERIC","betterPrice","CHECKOUT_RESPONSE","event","NOTIFICATION","success","warning","defaultMessage","L10N","NOTIFICATION_BETTER_PRICE","NOTIFICATION_PRICE_CHANGED","CHECKOUT_INTERACTION","action","notification_type","notification_message","handleModalAgency","handleErrorConfirmation","entries","_ref2","field_name","field_group","key","error_type","window","scrollTo","top","behavior","agency","hasRequiredFields","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","schema","name","Notification","small","info","concat","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","VARIANT","B","BookingDetails","expanded","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { INPUT } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Form } from './partials';\nimport { ERROR, VALIDATE_ERROR, VARIANT } from '../../Core.constants';\nimport { getSearchProps } from '../../helpers/getSearchProps';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, getRatesUrl, METRICS_EVENTS, replaceUrlParams } from '../helpers';\nimport { DISCOUNT_TYPE } from '../Rates/Rates.constants';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout = {},\n currency,\n finder = {},\n hotel,\n language,\n locale,\n payment: storePayment = {},\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n const [validateError, setValidateError] = useState();\n const checkoutMetricsSent = useRef(false);\n\n useEffect(() => {\n if (skeleton || !dataSource || checkoutMetricsSent.current) return;\n\n const { countryCode, price = {}, payment = {} } = dataSource;\n const mandatoryFieldsCount = Object.values(dataSource.form || {}).filter(\n (field = {}) =>\n field.required && field.input !== INPUT.OPTION && (!field.countries || field.countries.includes(countryCode)),\n ).length;\n const methods = Array.isArray(payment.methods) ? payment.methods : Object.keys(payment.methods || {});\n const paymentMethodsAvailable = (methods || []).map((method) => method);\n const paymentMethodsCount = paymentMethodsAvailable.length;\n const extrasSelectedCount =\n (dataSource.extras || []).length +\n (dataSource.details || []).reduce((total, { extras = [] } = {}) => total + extras.length, 0);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_READY,\n ...getSearchProps({ store: { finder, currency, language, locale, urlParams }, dataSource }),\n is_loyalty_rate: urlParams.applyClubDiscount === 'true',\n loyalty_savings_amount: price.discounts?.find?.((discount) => discount.type === DISCOUNT_TYPE.CLUB)?.amount || 0,\n total_amount: price.total,\n extras_selected_count: extrasSelectedCount,\n payment_gateway: dataSource.payment?.config?.provider || undefined,\n payment_methods_available: paymentMethodsAvailable,\n payment_methods_count: paymentMethodsCount,\n mandatory_fields_count: mandatoryFieldsCount,\n is_refundable: urlParams.refundable === 'true',\n });\n\n checkoutMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => await fetch())();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\n\n useEffect(() => {\n if (!validateError) return;\n\n const { EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS, PRICE_CHANGED } =\n VALIDATE_ERROR;\n (async () => {\n const { price, type } = validateError;\n\n if (type === PRICE_CHANGED && price) {\n replaceUrlParams({ totalPrice: price });\n await fetch(price);\n } else if ([EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS].includes(type)) {\n document.location.href = getRatesUrl({\n currency,\n language,\n notification: type,\n promocode: finder.promocode || '',\n variant,\n ...urlParams,\n });\n } else {\n setResponseError(ERROR.UNKNOWN);\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateError]);\n\n const fetch = async (price) => {\n setBusy(true);\n let cancel = false;\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...(price ? { totalPrice: price } : undefined),\n }).catch((error) => {\n if (error.type) {\n setValidateError(validateError?.price && error?.price ? { type: VALIDATE_ERROR.URL_GENERIC } : error);\n cancel = true;\n } else setResponseError(error);\n });\n if (cancel) return;\n\n setBusy(false);\n setValidateError();\n if (response) {\n setDataSource(response);\n const betterPrice = price && price < urlParams.totalPrice;\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n if (betterPrice !== undefined) {\n Event.publish(EVENT.NOTIFICATION, {\n ...(betterPrice ? { success: true } : { warning: true }),\n defaultMessage: translate(betterPrice ? L10N.NOTIFICATION_BETTER_PRICE : L10N.NOTIFICATION_PRICE_CHANGED),\n });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_INTERACTION,\n action: 'notification_show',\n notification_type: betterPrice ? 'success' : 'warning',\n notification_message: betterPrice ? 'price_decreased' : 'price_increased',\n });\n }\n }\n };\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n Object.entries(error || {}).forEach(([field, value]) => {\n if (!value) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.CHECKOUT_INTERACTION,\n action: 'field_error',\n field_name: field,\n field_group: Object.keys(checkout).find((key) => key === field) ? 'personal_data' : 'payment_data',\n error_type: value?.required || !storePayment[field] ? 'required_empty' : 'invalid_format',\n });\n });\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {variant !== VARIANT.B && <BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {(isDesktop || variant === VARIANT.B) && <BookingDetails dataSource={dataSource} className={style.box} />}\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _BookingDetails = require("./BookingDetails.constants");
13
13
  var _BookingDetails2 = require("./BookingDetails.l10n");
14
14
  var style = _interopRequireWildcard(require("./BookingDetails.module.css"));
15
15
  var _ = require("..");
16
+ var _Core = require("../../../Core.constants");
16
17
  var _helpers = require("../../helpers");
17
18
  const _excluded = ["dataSource", "expanded"];
18
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -45,7 +46,8 @@ const BookingDetails = _ref => {
45
46
  } = {},
46
47
  urlParams: {
47
48
  roomNumberBySelectedRoom
48
- } = {}
49
+ } = {},
50
+ variant
49
51
  }
50
52
  } = (0, _dataSources.useStore)();
51
53
  const [expanded, setExpanded] = (0, _react.useState)(propExpanded);
@@ -160,7 +162,7 @@ const BookingDetails = _ref => {
160
162
  }), expanded && /*#__PURE__*/_react.default.createElement(_.BookingTable, _extends({}, propsTable, {
161
163
  dataSource: extras,
162
164
  label: translate(_BookingDetails2.L10N.LABEL_BOOKING_EXTRAS)
163
- })), isDesktop && !expanded && /*#__PURE__*/_react.default.createElement(_.ButtonMore, {
165
+ })), (isDesktop || variant === _Core.VARIANT.B) && !expanded && /*#__PURE__*/_react.default.createElement(_.ButtonMore, {
164
166
  onPress: handlePress,
165
167
  className: style.buttonMore,
166
168
  testId: "button-more"
@@ -1 +1 @@
1
- {"version":3,"file":"BookingDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingDetails","_BookingDetails2","style","_","_helpers","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","BookingDetails","_ref","dataSource","expanded","propExpanded","others","isDesktop","useDevice","translate","useLocale","value","config","accomodation","occupation","variants","hotel","id","hotelId","urlParams","roomNumberBySelectedRoom","useStore","setExpanded","useState","useEffect","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","Event","publish","EVENT","METRICS","METRICS_EVENTS","BOOKING_INTERACTION","action","element_clicked","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","key","wide","row","item","backgroundImage","concat","inline","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, METRICS_EVENTS } from '../../helpers';\n\nconst BookingDetails = ({ dataSource = {}, expanded: propExpanded = false, ...others }) => {\n const { isDesktop } = 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 Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.BOOKING_INTERACTION,\n action: 'button_click',\n element_clicked: 'view_more',\n });\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 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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","ignoreList":[]}
1
+ {"version":3,"file":"BookingDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingDetails","_BookingDetails2","style","_","_Core","_helpers","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","BookingDetails","_ref","dataSource","expanded","propExpanded","others","isDesktop","useDevice","translate","useLocale","value","config","accomodation","occupation","variants","hotel","id","hotelId","urlParams","roomNumberBySelectedRoom","variant","useStore","setExpanded","useState","useEffect","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","Event","publish","EVENT","METRICS","METRICS_EVENTS","BOOKING_INTERACTION","action","element_clicked","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","key","wide","row","item","backgroundImage","concat","inline","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","VARIANT","B","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 { VARIANT } from '../../../Core.constants';\nimport { EVENT, getRoomNumber, getRoomOccupationLabel, METRICS_EVENTS } from '../../helpers';\n\nconst BookingDetails = ({ dataSource = {}, expanded: propExpanded = false, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n hotel: { id: hotelId } = {},\n urlParams: { roomNumberBySelectedRoom } = {},\n variant,\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 Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.BOOKING_INTERACTION,\n action: 'button_click',\n element_clicked: 'view_more',\n });\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 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 || variant === VARIANT.B) && !expanded && (\n <ButtonMore onPress={handlePress} className={style.buttonMore} testId=\"button-more\" />\n )}\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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,CAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAA6F,MAAAa,SAAA;AAAA,SAAAP,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAX,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAAzB,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAmB,6BAAA,CAAA1B,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA2B,OAAA,CAAAtB,CAAA,QAAAuB,oBAAA,CAAAd,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAmB,8BAAAvB,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA4B,OAAA,CAAAxB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAE7F,MAAM6B,cAAc,GAAGC,IAAA,IAAoE;EAAA,IAAnE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,QAAQ,EAAEC,YAAY,GAAG;IAAiB,CAAC,GAAAH,IAAA;IAARI,MAAM,GAAAV,wBAAA,CAAAM,IAAA,EAAAhC,SAAA;EAClF,MAAM;IAAEqC;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAAEC,YAAY,EAAE;UAAEC,UAAU,GAAG,EAAE;UAAEC,QAAQ,GAAG;QAAG,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MACtEC,KAAK,EAAE;QAAEC,EAAE,EAAEC;MAAQ,CAAC,GAAG,CAAC,CAAC;MAC3BC,SAAS,EAAE;QAAEC;MAAyB,CAAC,GAAG,CAAC,CAAC;MAC5CC;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAAClB,QAAQ,EAAEmB,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAACnB,YAAY,CAAC;EAEtD,IAAAoB,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC,OAAO,EAAE,CAAC;QAAEC,KAAK,GAAG;MAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;MAAEC,MAAM,GAAG;IAAG,CAAC,GAAGzB,UAAU;IACvEoB,WAAW,CAAC,CAAChB,SAAS,IAAKoB,KAAK,CAACjC,MAAM,IAAImC,mCAAmB,IAAID,MAAM,CAAClC,MAAM,KAAK,CAAE,CAAC;;IAEvF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA+B,gBAAS,EAAC,MAAM;IACdF,WAAW,CAAClB,YAAY,CAAC;EAC3B,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMyB,WAAW,GAAGA,CAAA,KAAM;IACxBC,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAC3BjB,EAAE,EAAEkB,uBAAc,CAACC,mBAAmB;MACtCC,MAAM,EAAE,cAAc;MACtBC,eAAe,EAAE;IACnB,CAAC,CAAC;IACFf,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC;EAED,MAAM;IAAEgB,QAAQ;IAAEb,OAAO,GAAG,EAAE;IAAEE,MAAM,GAAG;EAAG,CAAC,GAAGzB,UAAU;EAC1D,MAAMqC,UAAU,GAAG;IAAED;EAAS,CAAC;EAC/B,MAAME,UAAU,GAAG,IAAAC,sBAAa,EAACtB,wBAAwB,CAAC;EAC1D,MAAMuB,SAAS,GAAGjB,OAAO,CAAChC,MAAM,GAAG,CAAC;EAEpC,oBACEhC,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI,EAAAvD,QAAA,KAAKgB,MAAM;IAAEwC,SAAS,EAAE,IAAAC,UAAM,EAACjF,KAAK,CAAC4D,OAAO,EAAEpB,MAAM,CAACwC,SAAS;EAAE,iBACnEpF,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAE3C;EAAU,GAC5BE,SAAS,CAAC0C,qBAAI,CAACC,qBAAqB,CACjC,CAAC,EAEN1B,OAAO,CACL2B,KAAK,CAAC,CAAC,EAAEjD,QAAQ,GAAGkD,SAAS,GAAG,CAAC,CAAC,CAClCC,GAAG,CACF;IAAA,IAAAC,cAAA;IAAA,IACE;MACEC,MAAM;MACN7B,MAAM,GAAG,EAAE;MACX8B,KAAK;MACL/B,KAAK,GAAG,EAAE;MACVgC,YAAY,GAAG,EAAE;MACjB7C,UAAU,EAAE;QAAE8C,MAAM;QAAEC,MAAM;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7CC,IAAI;MACJC;IACF,CAAC,GAAAvE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,IACNwE,GAAG,GAAAxE,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA6D,SAAA;IAAA,oBAEH5F,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI;MAACoB,GAAG,EAAEA,GAAI;MAACC,IAAI;IAAA,gBAClBxG,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI;MAACsB,GAAG;MAACrB,SAAS,EAAEhF,KAAK,CAACsG;IAAK,gBAC9B1G,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI;MAACC,SAAS,EAAEhF,KAAK,CAAC4F,KAAM;MAAC5F,KAAK,EAAE;QAAEuG,eAAe,SAAAC,MAAA,CAASZ,KAAK;MAAI;IAAE,CAAE,CAAC,eAC7EhG,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI,qBACHnF,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI;MAACsB,GAAG;MAACrB,SAAS,EAAEhF,KAAK,CAACyG;IAAO,gBAChC7G,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;MAACC,IAAI;IAAA,MAAAqB,MAAA,CACJN,IAAI,EAAAM,MAAA,CAAG7B,UAAU,QAAA6B,MAAA,CAAQ7D,SAAS,CAAC0C,qBAAI,CAACqB,iBAAiB,EAAE;MAAE/B;IAAW,CAAC,CAAC,SAAM,EAAE,OAAA6B,MAAA,CACpFb,MAAM,GAAG,CAAC,SAAAa,MAAA,CAASb,MAAM,SAAM,EAAE,CAE/B,CAAC,EACNhB,UAAU,iBACT/E,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAkH,OAAO;MAACC,SAAS;MAACC,IAAI,EAAElE,SAAS,CAAC0C,qBAAI,CAACyB,6BAA6B;IAAE,gBACrElH,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsH,IAAI;MAAClE,KAAK,EAAEmE,QAAI,CAACC;IAAK,CAAE,CAClB,CAEP,CAAC,eACPrH,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;MAACX,MAAM;IAAA,GAAE0B,IAAI,CAACiB,OAAO,IAAAV,MAAA,CAAIN,IAAI,QAAK,EAAE,CAAC,CAACiB,IAAI,CAAC,CAAQ,CAAC,eACzDvH,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;MAACkC,KAAK;MAACC,KAAK;IAAA,GACd,IAAAC,+BAAsB,EAAC;MACtBxB,MAAM;MACNC,MAAM;MACNC,QAAQ;MACR3D,UAAU,EAAE,EAAAqD,cAAA,GAAAzC,QAAQ,CAACsE,IAAI,CAACC,KAAA;QAAA,IAAC;UAAErE;QAAG,CAAC,GAAAqE,KAAA;QAAA,OAAKrE,EAAE,KAAKsE,MAAM,CAACrE,OAAO,CAAC;MAAA,EAAC,cAAAsC,cAAA,uBAAjDA,cAAA,CAAmD1C,UAAU,KAAIA,UAAU;MACvFL;IACF,CAAC,CACG,CACF,CACF,CAAC,eAEP/C,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAAC7E,CAAA,CAAAyH,YAAY,EAAAlG,QAAA,KACPkD,UAAU;MACdrC,UAAU,EAAEwB,KAAK,CAAC0B,KAAK,CAAC,CAAC,EAAEjD,QAAQ,GAAGkD,SAAS,GAAGzB,mCAAmB,CAAE;MACvE4D,SAAS,EAAE9C,SAAS,IAAIvC;IAAS,EAClC,CAAC,EAEDA,QAAQ,iBACP1C,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAAAlF,MAAA,CAAAmB,OAAA,CAAA6G,QAAA,qBACEhI,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAAC7E,CAAA,CAAAyH,YAAY,EAAAlG,QAAA,KAAKkD,UAAU;MAAErC,UAAU,EAAEyB,MAAO;MAAC+D,KAAK,EAAElF,SAAS,CAAC0C,qBAAI,CAACyC,YAAY;IAAE,EAAE,CAAC,EAExFjC,YAAY,CAACjE,MAAM,GAAG,CAAC,iBACtBhC,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAsF,IAAI;MAACC,SAAS,EAAEhF,KAAK,CAAC6F;IAAa,gBAClCjG,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;MAACC,IAAI;MAACkC,KAAK;IAAA,GACb1E,SAAS,CAAC0C,qBAAI,CAAC0C,kBAAkB,CAC9B,CAAC,EACNlC,YAAY,CAACJ,GAAG,CAAC,CAACa,IAAI,EAAE0B,KAAK,kBAC5BpI,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAACrF,GAAA,CAAAyF,IAAI;MAACiB,GAAG,EAAE6B,KAAM;MAACX,KAAK;IAAA,GACpBf,IACG,CACP,CACG,CAER,CAEA,CAAC;EAAA,CAEX,CAAC,EAEFhE,QAAQ,iBAAI1C,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAAC7E,CAAA,CAAAyH,YAAY,EAAAlG,QAAA,KAAKkD,UAAU;IAAErC,UAAU,EAAEyB,MAAO;IAAC+D,KAAK,EAAElF,SAAS,CAAC0C,qBAAI,CAAC4C,oBAAoB;EAAE,EAAE,CAAC,EAE7G,CAACxF,SAAS,IAAIc,OAAO,KAAK2E,aAAO,CAACC,CAAC,KAAK,CAAC7F,QAAQ,iBAChD1C,MAAA,CAAAmB,OAAA,CAAA+D,aAAA,CAAC7E,CAAA,CAAAmI,UAAU;IAACC,OAAO,EAAErE,WAAY;IAACgB,SAAS,EAAEhF,KAAK,CAACsI,UAAW;IAACC,MAAM,EAAC;EAAa,CAAE,CAEnF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAArG,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACsG,WAAW,GAAG,2BAA2B;AAExDtG,cAAc,CAACuG,SAAS,GAAG;EACzBrG,UAAU,EAAEsG,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BtG,QAAQ,EAAEqG,kBAAS,CAACE;AACtB,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _BookingSummary = require("./BookingSummary.constants");
13
13
  var _BookingSummary2 = require("./BookingSummary.l10n");
14
14
  var style = _interopRequireWildcard(require("./BookingSummary.module.css"));
15
+ var _Core = require("../../../Core.constants");
15
16
  var _helpers = require("../../helpers");
16
17
  var _ButtonMore = require("../ButtonMore");
17
18
  var _PriceBreakdown = require("../PriceBreakdown");
@@ -20,21 +21,73 @@ const _excluded = ["box", "children", "dataSource"],
20
21
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
23
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
25
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
23
26
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
27
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
28
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
26
29
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
27
30
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
28
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
29
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
30
- const BookingSummary = _ref => {
31
- var _ref2;
31
+ const {
32
+ ADULT,
33
+ BABY,
34
+ CHILD
35
+ } = _helpers.OCCUPATION_TYPE;
36
+ const getBookingRoomNames = function () {
37
+ let rooms = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
38
+ return Object.values(rooms.reduce(function (total) {
39
+ var _total$type;
40
+ let {
41
+ amount,
42
+ type
43
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
44
+ return _objectSpread(_objectSpread({}, total), type ? {
45
+ [type]: {
46
+ amount: (((_total$type = total[type]) === null || _total$type === void 0 ? void 0 : _total$type.amount) || 0) + amount,
47
+ type
48
+ }
49
+ } : undefined);
50
+ }, {})).map(function () {
51
+ let {
52
+ amount,
53
+ type
54
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
+ return "".concat(type).concat(amount > 1 ? " (x".concat(amount, ")") : '');
56
+ });
57
+ };
58
+ const getBookingOccupationLabel = _ref => {
59
+ let {
60
+ amount = 0,
61
+ translate,
62
+ type
63
+ } = _ref;
64
+ return "".concat(amount, " ").concat((0, _helpers.getGuestLabel)({
65
+ plural: amount !== 1,
66
+ type
67
+ }, translate));
68
+ };
69
+ const getPositiveLabels = function () {
70
+ let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
71
+ return items.filter(function () {
72
+ let {
73
+ amount
74
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
+ return amount > 0;
76
+ }).map(_ref2 => {
77
+ let {
78
+ label
79
+ } = _ref2;
80
+ return label;
81
+ });
82
+ };
83
+ const BookingSummary = _ref3 => {
84
+ var _ref4;
32
85
  let {
33
86
  box = false,
34
87
  children,
35
88
  dataSource = {}
36
- } = _ref,
37
- others = _objectWithoutProperties(_ref, _excluded);
89
+ } = _ref3,
90
+ others = _objectWithoutProperties(_ref3, _excluded);
38
91
  const {
39
92
  isDesktop
40
93
  } = (0, _ui.useDevice)();
@@ -69,6 +122,11 @@ const BookingSummary = _ref => {
69
122
  checkOutTime,
70
123
  currency,
71
124
  details = [],
125
+ cancellationPolicy: {
126
+ caption: cancellationCaption,
127
+ name: cancellationName
128
+ } = {},
129
+ extras = [],
72
130
  hotel: {
73
131
  address,
74
132
  city,
@@ -121,6 +179,80 @@ const BookingSummary = _ref => {
121
179
  name = hotelName,
122
180
  type
123
181
  } = features[id] || {};
182
+ const showBookingBlock = variant === _Core.VARIANT.B;
183
+ const bookingDetails = details.reduce(function (total) {
184
+ let {
185
+ amount,
186
+ extras = [],
187
+ occupation: {
188
+ adults = 0,
189
+ babies = 0,
190
+ children = 0
191
+ } = {},
192
+ rooms
193
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
194
+ const roomAmount = rooms || amount || 1;
195
+ return {
196
+ adults: total.adults + adults * roomAmount,
197
+ babies: total.babies + babies * roomAmount,
198
+ children: total.children + children * roomAmount,
199
+ extras: [...total.extras, ...extras],
200
+ rooms: total.rooms + roomAmount
201
+ };
202
+ }, {
203
+ adults: 0,
204
+ babies: 0,
205
+ children: 0,
206
+ extras: [],
207
+ rooms: 0
208
+ });
209
+ const bookingRoomNames = getBookingRoomNames(details);
210
+ const bookingExtras = [...bookingDetails.extras, ...extras];
211
+ const bookingExtraNames = showBookingBlock && bookingExtras.map(function () {
212
+ let {
213
+ title
214
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
215
+ return title;
216
+ }).filter(Boolean);
217
+ const bookingSummaryLabels = getPositiveLabels([{
218
+ amount: nights || days || 0,
219
+ label: translate(_BookingSummary2.L10N.LABEL_NIGHT_COUNT, {
220
+ value: nights || days || 0
221
+ })
222
+ }, {
223
+ amount: bookingDetails.rooms,
224
+ label: translate(_BookingSummary2.L10N.LABEL_ROOM_COUNT, {
225
+ value: bookingDetails.rooms
226
+ })
227
+ }, showBookingBlock ? {
228
+ amount: bookingExtras.length,
229
+ label: translate(_BookingSummary2.L10N.LABEL_EXTRA_COUNT, {
230
+ value: bookingExtras.length
231
+ })
232
+ } : undefined]);
233
+ const bookingOccupationLabels = showBookingBlock && getPositiveLabels([{
234
+ amount: bookingDetails.adults,
235
+ label: getBookingOccupationLabel({
236
+ amount: bookingDetails.adults,
237
+ translate,
238
+ type: ADULT
239
+ })
240
+ }, {
241
+ amount: bookingDetails.children,
242
+ label: getBookingOccupationLabel({
243
+ amount: bookingDetails.children,
244
+ translate,
245
+ type: CHILD
246
+ })
247
+ }, {
248
+ amount: bookingDetails.babies,
249
+ label: getBookingOccupationLabel({
250
+ amount: bookingDetails.babies,
251
+ translate,
252
+ type: BABY
253
+ })
254
+ }]);
255
+ const showCancellation = showBookingBlock && (cancellationName || cancellationCaption);
124
256
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
125
257
  wide: true,
126
258
  className: (0, _ui.styles)(style.bookingSummary, box && style.box, others.className)
@@ -153,18 +285,11 @@ const BookingSummary = _ref => {
153
285
  value: checkOutTime
154
286
  }))))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
155
287
  bold: true
156
- }, translate(_BookingSummary2.L10N.LABEL_YOUR_RESERVATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
288
+ }, translate(showBookingBlock ? _BookingSummary2.L10N.LABEL_YOUR_BOOKING : _BookingSummary2.L10N.LABEL_YOUR_RESERVATION)), (bookingSummaryLabels === null || bookingSummaryLabels === void 0 ? void 0 : bookingSummaryLabels.length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
289
+ action: true
290
+ }, bookingSummaryLabels.join(', ')), (bookingOccupationLabels === null || bookingOccupationLabels === void 0 ? void 0 : bookingOccupationLabels.length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
157
291
  action: true
158
- }, "".concat(translate(_BookingSummary2.L10N.LABEL_NIGHT_COUNT, {
159
- value: nights || days || 0
160
- }), ", ").concat(translate(_BookingSummary2.L10N.LABEL_ROOM_COUNT, {
161
- value: items.reduce(function (total) {
162
- let {
163
- amount = 1
164
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
165
- return total + amount;
166
- }, 0)
167
- }))), items.map(function () {
292
+ }, bookingOccupationLabels.join(', ')), roomNumber || !showBookingBlock ? items.map(function () {
168
293
  let {
169
294
  amount,
170
295
  type
@@ -185,14 +310,27 @@ const BookingSummary = _ref => {
185
310
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
186
311
  value: _helpers.ICON.INFO
187
312
  })));
188
- })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
313
+ }) : /*#__PURE__*/_react.default.createElement(_ui.Text, {
314
+ light: true,
315
+ small: true
316
+ }, bookingRoomNames.join(', ')), (bookingExtraNames === null || bookingExtraNames === void 0 ? void 0 : bookingExtraNames.length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
317
+ light: true,
318
+ small: true
319
+ }, bookingExtraNames.join(', ')), showCancellation && /*#__PURE__*/_react.default.createElement(_ui.View, null, cancellationName && /*#__PURE__*/_react.default.createElement(_ui.Text, {
320
+ action: true,
321
+ bold: true,
322
+ success: true
323
+ }, cancellationName), cancellationCaption && /*#__PURE__*/_react.default.createElement(_ui.Text, {
324
+ light: true,
325
+ small: true
326
+ }, cancellationCaption))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
189
327
  bold: true
190
328
  }, translate(_BookingSummary2.L10N.LABEL_ACCOMMODATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
191
329
  action: true,
192
330
  markdown: false
193
- }, (_ref2 = "".concat(type && name ? translate(_BookingSummary2.L10N.LABEL_PROPERTY_TYPE, {
331
+ }, (_ref4 = "".concat(type && name ? translate(_BookingSummary2.L10N.LABEL_PROPERTY_TYPE, {
194
332
  type
195
- }) : '', " ").concat(name)) === null || _ref2 === void 0 ? void 0 : _ref2.trim()), /*#__PURE__*/_react.default.createElement(_ui.Text, {
333
+ }) : '', " ").concat(name)) === null || _ref4 === void 0 ? void 0 : _ref4.trim()), /*#__PURE__*/_react.default.createElement(_ui.Text, {
196
334
  light: true,
197
335
  small: true
198
336
  }, "".concat(address, ", ").concat(city, ", ").concat(country)), !isCheckout && /*#__PURE__*/_react.default.createElement(_ui.Text, {