@mirai/core 0.3.418 → 0.3.419
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Checkout/partials/Checkout.Confirmation.js +3 -0
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +1 -1
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +25 -16
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.js +11 -0
- package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +21 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +24 -1
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +22 -2
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js +2 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- 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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"}
|
|
@@ -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
|
-
}),
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingSummary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingSummary","_BookingSummary2","style","_helpers","_ButtonMore","_PriceBreakdown","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingSummary","_ref","box","children","dataSource","others","isDesktop","isMobile","useDevice","dateFormat","translate","useLocale","value","components","language","urlParams","applyClubDiscount","chainSelectorValue","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idchain","idtokenprovider","parties","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","checkIn","checkInTime","checkOut","checkOutTime","currency","details","hotel","address","city","country","email","location","name","hotelName","phone","site","nights","handleBack","document","href","concat","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","lang","handlePress","days","dateDiff","parseDate","isCheckout","checkout","items","filter","type","undefined","roomNumber","getRoomNumber","urlLocation","join","createElement","View","wide","className","styles","bookingSummary","section","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","dates","action","LABEL_CHECK_IN","FORMAT_DATE","light","small","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","map","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","LABEL_ACCOMODATION","markdown","links","noPrint","Action","SITE","ACTION_VIEW_HOTEL","MAIL","ACTION_SEND_EMAIL","LOCATION","ACTION_VIEW_MAP","Fragment","onPress","testId","ACTION_CHANGE_SELECTION","PriceBreakdown","ButtonMore","exports","displayName","propTypes","PropTypes","bool","any","shape"],"sources":["../../../../src/components/__shared__/BookingSummary/BookingSummary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { FORMAT_DATE, REDIRECT_PATH } from './BookingSummary.constants';\nimport { L10N } from './BookingSummary.l10n';\nimport * as style from './BookingSummary.module.css';\nimport { getRoomNumber, ICON, toUrlParams } from '../../helpers';\nimport { ButtonMore } from '../ButtonMore';\nimport { PriceBreakdown } from '../PriceBreakdown';\n\nconst BookingSummary = ({ box = false, children, dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n components = {},\n language,\n urlParams: {\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n parties,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(isDesktop);\n\n const {\n checkIn,\n checkInTime,\n checkOut,\n checkOutTime,\n currency,\n details = [],\n hotel: { address, city, country, email, location = [], name: hotelName, phone, site } = {},\n nights,\n } = dataSource;\n\n const handleBack = () => {\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n lang: language,\n nights,\n parties,\n })}`;\n };\n\n const handlePress = () => {\n setExpanded(true);\n };\n\n const { days } = dateDiff(parseDate(checkIn), parseDate(checkOut));\n const isCheckout = !!components.checkout;\n const items = details.filter(({ type } = {}) => !!type) || [];\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const urlLocation = location.length ? `https://maps.google.com?q=${location.join(',')}` : undefined;\n\n return (\n <View {...others} wide className={styles(style.bookingSummary, box && style.box, others.className)}>\n <View className={style.section}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n\n <View row wide className={style.dates}>\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkIn), FORMAT_DATE)}</Text>\n {checkInTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkOut), FORMAT_DATE)}</Text>\n {checkOutTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights || days || 0 })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text light small>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMODATION)}\n </Text>\n <Text action markdown={false}>\n {hotelName}\n </Text>\n <Text light small>\n {`${address}, ${city}, ${country}`}\n </Text>\n {!isCheckout && (\n <Text light small>\n {phone}\n </Text>\n )}\n </View>\n\n {!isCheckout && (site || email || urlLocation) && (\n <View row wide className={styles(style.links, style.noPrint)}>\n {site && (\n <Action href={site} small target=\"_blank\">\n <Icon value={ICON.SITE} />\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n {email && (\n <Action href={`mailto:${email}`} small target=\"_blank\">\n <Icon value={ICON.MAIL} />\n {translate(L10N.ACTION_SEND_EMAIL)}\n </Action>\n )}\n {urlLocation && (\n <Action href={urlLocation} small target=\"_blank\">\n <Icon value={ICON.LOCATION} />\n {translate(L10N.ACTION_VIEW_MAP)}\n </Action>\n )}\n </View>\n )}\n\n {isCheckout && (\n <>\n <Action onPress={handleBack} testId=\"action-change-selection\">\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </>\n )}\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n\n {children ? (\n expanded ? (\n <View className={style.section}>{children}</View>\n ) : (\n <ButtonMore onPress={handlePress} />\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingSummary.displayName = 'Mirai:Core:BookingSummary';\n\nBookingSummary.propTypes = {\n box: PropTypes.bool,\n children: PropTypes.any,\n dataSource: PropTypes.shape({}),\n};\n\nexport { BookingSummary };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BookingSummary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingSummary","_BookingSummary2","style","_helpers","_ButtonMore","_PriceBreakdown","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingSummary","_ref","box","children","dataSource","others","isDesktop","isMobile","useDevice","dateFormat","translate","useLocale","value","components","language","urlParams","applyClubDiscount","chainSelectorValue","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idchain","idtokenprovider","parties","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","checkIn","checkInTime","checkOut","checkOutTime","currency","details","hotel","address","city","country","email","location","name","hotelName","phone","site","nights","handleBack","metrics","Event","publish","EVENT","METRICS","id","concat","setTimeout","document","href","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","lang","SUBMIT_DELAY","handlePress","checkout","booking","undefined","days","dateDiff","parseDate","isCheckout","items","filter","type","roomNumber","getRoomNumber","urlLocation","join","createElement","View","wide","className","styles","bookingSummary","section","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","dates","action","LABEL_CHECK_IN","FORMAT_DATE","light","small","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","map","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","LABEL_ACCOMODATION","markdown","links","noPrint","Action","SITE","ACTION_VIEW_HOTEL","MAIL","ACTION_SEND_EMAIL","LOCATION","ACTION_VIEW_MAP","Fragment","onPress","testId","ACTION_CHANGE_SELECTION","PriceBreakdown","ButtonMore","exports","displayName","propTypes","PropTypes","bool","any","shape"],"sources":["../../../../src/components/__shared__/BookingSummary/BookingSummary.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { FORMAT_DATE, REDIRECT_PATH } from './BookingSummary.constants';\nimport { L10N } from './BookingSummary.l10n';\nimport * as style from './BookingSummary.module.css';\nimport { EVENT, getRoomNumber, ICON, SUBMIT_DELAY, toUrlParams } from '../../helpers';\nimport { ButtonMore } from '../ButtonMore';\nimport { PriceBreakdown } from '../PriceBreakdown';\n\nconst BookingSummary = ({ box = false, children, dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n components = {},\n language,\n urlParams: {\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n parties,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(isDesktop);\n\n const {\n checkIn,\n checkInTime,\n checkOut,\n checkOutTime,\n currency,\n details = [],\n hotel: { address, city, country, email, location = [], name: hotelName, phone, site } = {},\n nights,\n } = dataSource;\n\n const handleBack = () => {\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE_SELECTION` });\n\n setTimeout(() => {\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n chainSelectorValue,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idchain,\n idtokenprovider,\n lang: language,\n nights,\n parties,\n })}`;\n }, [SUBMIT_DELAY]);\n };\n\n const handlePress = () => {\n setExpanded(true);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:DETAILS:VIEW_MORE` });\n };\n\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n const { days } = dateDiff(parseDate(checkIn), parseDate(checkOut));\n const isCheckout = !!components.checkout;\n const items = details.filter(({ type } = {}) => !!type) || [];\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const urlLocation = location.length ? `https://maps.google.com?q=${location.join(',')}` : undefined;\n\n return (\n <View {...others} wide className={styles(style.bookingSummary, box && style.box, others.className)}>\n <View className={style.section}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n\n <View row wide className={style.dates}>\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkIn), FORMAT_DATE)}</Text>\n {checkInTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkOut), FORMAT_DATE)}</Text>\n {checkOutTime && (\n <Text light small>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights || days || 0 })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text light small>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMODATION)}\n </Text>\n <Text action markdown={false}>\n {hotelName}\n </Text>\n <Text light small>\n {`${address}, ${city}, ${country}`}\n </Text>\n {!isCheckout && (\n <Text light small>\n {phone}\n </Text>\n )}\n </View>\n\n {!isCheckout && (site || email || urlLocation) && (\n <View row wide className={styles(style.links, style.noPrint)}>\n {site && (\n <Action href={site} small target=\"_blank\">\n <Icon value={ICON.SITE} />\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n {email && (\n <Action href={`mailto:${email}`} small target=\"_blank\">\n <Icon value={ICON.MAIL} />\n {translate(L10N.ACTION_SEND_EMAIL)}\n </Action>\n )}\n {urlLocation && (\n <Action href={urlLocation} small target=\"_blank\">\n <Icon value={ICON.LOCATION} />\n {translate(L10N.ACTION_VIEW_MAP)}\n </Action>\n )}\n </View>\n )}\n\n {isCheckout && (\n <>\n <Action onPress={handleBack} testId=\"action-change-selection\">\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </>\n )}\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n\n {children ? (\n expanded ? (\n <View className={style.section}>{children}</View>\n ) : (\n <ButtonMore onPress={handlePress} />\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingSummary.displayName = 'Mirai:Core:BookingSummary';\n\nBookingSummary.propTypes = {\n box: PropTypes.bool,\n children: PropTypes.any,\n dataSource: PropTypes.shape({}),\n};\n\nexport { BookingSummary };\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BookingTable = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
9
|
var _ui = require("@mirai/ui");
|
|
9
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -12,6 +13,7 @@ var _BookingTable = require("./BookingTable.constants");
|
|
|
12
13
|
var _BookingTable2 = require("./BookingTable.l10n");
|
|
13
14
|
var style = _interopRequireWildcard(require("./BookingTable.module.css"));
|
|
14
15
|
var _BookingTable3 = require("./BookingTable.Row");
|
|
16
|
+
var _helpers = require("../../helpers");
|
|
15
17
|
var _ButtonMore = require("../ButtonMore");
|
|
16
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -34,11 +36,20 @@ const BookingTable = _ref => {
|
|
|
34
36
|
dateFormat,
|
|
35
37
|
translate
|
|
36
38
|
} = (0, _locale.useLocale)();
|
|
39
|
+
const {
|
|
40
|
+
value: {
|
|
41
|
+
components = {}
|
|
42
|
+
}
|
|
43
|
+
} = (0, _dataSources.useStore)();
|
|
37
44
|
const [expand, setExpand] = (0, _react.useState)(dataSource.length <= UNEXPANDED_ITEMS);
|
|
38
45
|
(0, _react.useEffect)(() => setExpand(dataSource.length <= UNEXPANDED_ITEMS), [dataSource]);
|
|
39
46
|
const handlePress = () => {
|
|
40
47
|
setExpand(true);
|
|
48
|
+
if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
49
|
+
id: "".concat(metrics, ":TABLE:VIEW_MORE")
|
|
50
|
+
});
|
|
41
51
|
};
|
|
52
|
+
const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;
|
|
42
53
|
const rowTotal = showTotal ? {
|
|
43
54
|
bold: true,
|
|
44
55
|
price: dataSource.reduce((total, _ref2) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingTable.js","names":["
|
|
1
|
+
{"version":3,"file":"BookingTable.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingTable","_BookingTable2","style","_BookingTable3","_helpers","_ButtonMore","_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","UNEXPANDED_ITEMS","BookingTable","_ref","currency","expanded","dataSource","label","showTotal","others","isDesktop","useDevice","dateFormat","translate","useLocale","value","components","useStore","expand","setExpand","useState","useEffect","handlePress","metrics","Event","publish","EVENT","METRICS","id","concat","checkout","booking","undefined","rowTotal","bold","price","reduce","total","_ref2","summary","title","L10N","LABEL_TOTAL","createElement","View","className","styles","table","collapsed","Text","headline","filter","item","slice","map","date","index","Row","parseDate","FORMAT_DATE","ButtonMore","onPress","buttonMore","exports","displayName","propTypes","PropTypes","string","arrayOf","shape","bool"],"sources":["../../../../src/components/__shared__/BookingTable/BookingTable.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FORMAT_DATE } from './BookingTable.constants';\nimport { L10N } from './BookingTable.l10n';\nimport * as style from './BookingTable.module.css';\nimport { Row } from './BookingTable.Row';\nimport { EVENT } from '../../helpers';\nimport { ButtonMore } from '../ButtonMore';\n\nconst UNEXPANDED_ITEMS = 3;\n\nconst BookingTable = ({ currency, expanded = true, dataSource = [], label, showTotal = false, ...others }) => {\n const { isDesktop } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n\n const [expand, setExpand] = useState(dataSource.length <= UNEXPANDED_ITEMS);\n\n useEffect(() => setExpand(dataSource.length <= UNEXPANDED_ITEMS), [dataSource]);\n\n const handlePress = () => {\n setExpand(true);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:TABLE:VIEW_MORE` });\n };\n\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n const rowTotal = showTotal\n ? {\n bold: true,\n price: dataSource.reduce((total, { price = 0 }) => total + price, 0),\n summary: ' ',\n title: translate(L10N.LABEL_TOTAL),\n }\n : undefined;\n\n return dataSource.length > 0 ? (\n <View {...others} className={styles(style.table, !expand && style.collapsed, others.className)}>\n {label && (\n <Text headline={isDesktop} bold>\n {label}\n </Text>\n )}\n {[...dataSource, rowTotal]\n .filter((item) => !!item)\n .slice(0, expanded || expand ? dataSource.length + (showTotal ? 1 : 0) : UNEXPANDED_ITEMS)\n .map(({ date, title = '', ...item } = {}, index) => (\n <Row {...{ ...item, currency }} title={date ? dateFormat(parseDate(date), FORMAT_DATE) : title} key={index}>\n {!expanded && !expand && index === UNEXPANDED_ITEMS - 1 && (\n <ButtonMore onPress={handlePress} className={style.buttonMore} />\n )}\n </Row>\n ))}\n </View>\n ) : null;\n};\n\nBookingTable.displayName = 'Mirai:Core:BookingTable';\n\nBookingTable.propTypes = {\n currency: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n expanded: PropTypes.bool,\n label: PropTypes.string,\n showTotal: PropTypes.bool,\n};\n\nexport { BookingTable };\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BookingTerms = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
9
|
var _ui = require("@mirai/ui");
|
|
9
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -11,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
12
|
var _BookingTermsL10n = require("./BookingTerms.l10n.js");
|
|
12
13
|
var style = _interopRequireWildcard(require("./BookingTerms.module.css"));
|
|
13
14
|
var _components = require("../../Booking/components");
|
|
15
|
+
var _constants = require("../../helpers/constants.js");
|
|
14
16
|
var _parseHtml = require("../../helpers/parseHtml");
|
|
15
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -32,7 +34,24 @@ const BookingTerms = _ref => {
|
|
|
32
34
|
const {
|
|
33
35
|
translate
|
|
34
36
|
} = (0, _locale.useLocale)();
|
|
37
|
+
const {
|
|
38
|
+
value: {
|
|
39
|
+
components = {}
|
|
40
|
+
}
|
|
41
|
+
} = (0, _dataSources.useStore)();
|
|
35
42
|
const [modal, setModal] = (0, _react.useState)(false);
|
|
43
|
+
const handleModal = () => {
|
|
44
|
+
setModal(true);
|
|
45
|
+
if (metrics) _dataSources.Event.publish(_constants.EVENT.METRICS, {
|
|
46
|
+
id: "".concat(metrics, ":TERMS:CANCELLATION_INFO")
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const handlePrivacyPolicy = () => {
|
|
50
|
+
if (metrics) _dataSources.Event.publish(_constants.EVENT.METRICS, {
|
|
51
|
+
id: "".concat(metrics, ":TERMS:PRIVACY_POLICY")
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;
|
|
36
55
|
const fieldProps = {
|
|
37
56
|
inline: false,
|
|
38
57
|
small
|
|
@@ -50,7 +69,7 @@ const BookingTerms = _ref => {
|
|
|
50
69
|
}), (cancelationPolicy === null || cancelationPolicy === void 0 ? void 0 : cancelationPolicy.detail) && /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
51
70
|
small: small,
|
|
52
71
|
underline: true,
|
|
53
|
-
onPress:
|
|
72
|
+
onPress: handleModal,
|
|
54
73
|
className: style.noPrint
|
|
55
74
|
}, translate(_BookingTermsL10n.L10N.ACTION_MORE_INFO))), privacyPolicy && /*#__PURE__*/_react.default.createElement(_components.Field, _extends({}, fieldProps, {
|
|
56
75
|
label: translate(_BookingTermsL10n.L10N.LABEL_PRIVACY_POLICY),
|
|
@@ -60,6 +79,7 @@ const BookingTerms = _ref => {
|
|
|
60
79
|
target: "_blank",
|
|
61
80
|
small: small,
|
|
62
81
|
underline: true,
|
|
82
|
+
onPress: handlePrivacyPolicy,
|
|
63
83
|
className: (0, _ui.styles)(style.linkPrivacy, style.noPrint)
|
|
64
84
|
}, translate(_BookingTermsL10n.L10N.ACTION_MORE_INFO))
|
|
65
85
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingTerms.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingTermsL10n","style","_components","_parseHtml","_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","BookingTerms","_ref","dataSource","cancelationPolicy","otherConditions","paymentsConditions","hotel","privacyPolicy","small","others","translate","useLocale","modal","setModal","useState","fieldProps","inline","createElement","Fragment","View","className","styles","box","Field","label","L10N","LABEL_PAYMENT_TERMS","value","parseHtml","LABEL_CANCELLATION_POLICY","summary","detail","Action","underline","onPress","noPrint","ACTION_MORE_INFO","LABEL_PRIVACY_POLICY","LABEL_PRIVACY_POLICY_DESCRIPTION","link","href","linkPrivacy","LABEL_OTHERS_TERMS","Modal","title","visible","onClose","Text","exports","displayName","propTypes","PropTypes","shape","string","details","payment","bool"],"sources":["../../../../src/components/__shared__/BookingTerms/BookingTerms.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Modal, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './BookingTerms.l10n.js';\nimport * as style from './BookingTerms.module.css';\nimport { Field } from '../../Booking/components';\nimport { parseHtml } from '../../helpers/parseHtml';\n\nconst BookingTerms = ({\n dataSource: { cancelationPolicy, otherConditions, paymentsConditions, hotel: { privacyPolicy } = {} } = {},\n small,\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [modal, setModal] = useState(false);\n\n const fieldProps = { inline: false, small };\n\n return (\n <>\n <View {...others} className={styles(style.box, style.others, others.className)}>\n {paymentsConditions && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_PAYMENT_TERMS)}\n value={parseHtml(paymentsConditions, { small })}\n />\n )}\n\n {cancelationPolicy && (\n <Field {...fieldProps} label={translate(L10N.LABEL_CANCELLATION_POLICY)} value={cancelationPolicy.summary}>\n {cancelationPolicy?.detail && (\n <Action small={small} underline onPress={() => setModal(true)} className={style.noPrint}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n )}\n </Field>\n )}\n\n {privacyPolicy && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_PRIVACY_POLICY)}\n value={translate(L10N.LABEL_PRIVACY_POLICY_DESCRIPTION, {\n link: (\n <Action\n href={privacyPolicy}\n target=\"_blank\"\n small={small}\n underline\n className={styles(style.linkPrivacy, style.noPrint)}\n >\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n ),\n })}\n />\n )}\n {otherConditions && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_OTHERS_TERMS)}\n value={parseHtml(otherConditions, { small })}\n />\n )}\n </View>\n\n {cancelationPolicy?.detail && (\n <Modal title={translate(L10N.LABEL_CANCELLATION_POLICY)} visible={modal} onClose={() => setModal(false)}>\n <Text className={style.modal}>{cancelationPolicy.detail}</Text>\n </Modal>\n )}\n </>\n );\n};\n\nBookingTerms.displayName = 'Mirai:Core:BookingTerms';\n\nBookingTerms.propTypes = {\n dataSource: PropTypes.shape({\n cancelationPolicy: PropTypes.shape({\n summary: PropTypes.string,\n details: PropTypes.string,\n }),\n payment: PropTypes.PropTypes.shape({}),\n paymentsConditions: PropTypes.string,\n }),\n small: PropTypes.bool,\n};\n\nexport { BookingTerms };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BookingTerms.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingTermsL10n","style","_components","_constants","_parseHtml","_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","BookingTerms","_ref","dataSource","cancelationPolicy","otherConditions","paymentsConditions","hotel","privacyPolicy","small","others","translate","useLocale","value","components","useStore","modal","setModal","useState","handleModal","metrics","Event","publish","EVENT","METRICS","id","concat","handlePrivacyPolicy","checkout","booking","undefined","fieldProps","inline","createElement","Fragment","View","className","styles","box","Field","label","L10N","LABEL_PAYMENT_TERMS","parseHtml","LABEL_CANCELLATION_POLICY","summary","detail","Action","underline","onPress","noPrint","ACTION_MORE_INFO","LABEL_PRIVACY_POLICY","LABEL_PRIVACY_POLICY_DESCRIPTION","link","href","linkPrivacy","LABEL_OTHERS_TERMS","Modal","title","visible","onClose","Text","exports","displayName","propTypes","PropTypes","shape","string","details","payment","bool"],"sources":["../../../../src/components/__shared__/BookingTerms/BookingTerms.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Modal, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './BookingTerms.l10n.js';\nimport * as style from './BookingTerms.module.css';\nimport { Field } from '../../Booking/components';\nimport { EVENT } from '../../helpers/constants.js';\nimport { parseHtml } from '../../helpers/parseHtml';\n\nconst BookingTerms = ({\n dataSource: { cancelationPolicy, otherConditions, paymentsConditions, hotel: { privacyPolicy } = {} } = {},\n small,\n ...others\n}) => {\n const { translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n const [modal, setModal] = useState(false);\n\n const handleModal = () => {\n setModal(true);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:TERMS:CANCELLATION_INFO` });\n };\n\n const handlePrivacyPolicy = () => {\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:TERMS:PRIVACY_POLICY` });\n };\n\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n const fieldProps = { inline: false, small };\n\n return (\n <>\n <View {...others} className={styles(style.box, style.others, others.className)}>\n {paymentsConditions && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_PAYMENT_TERMS)}\n value={parseHtml(paymentsConditions, { small })}\n />\n )}\n\n {cancelationPolicy && (\n <Field {...fieldProps} label={translate(L10N.LABEL_CANCELLATION_POLICY)} value={cancelationPolicy.summary}>\n {cancelationPolicy?.detail && (\n <Action small={small} underline onPress={handleModal} className={style.noPrint}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n )}\n </Field>\n )}\n\n {privacyPolicy && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_PRIVACY_POLICY)}\n value={translate(L10N.LABEL_PRIVACY_POLICY_DESCRIPTION, {\n link: (\n <Action\n href={privacyPolicy}\n target=\"_blank\"\n small={small}\n underline\n onPress={handlePrivacyPolicy}\n className={styles(style.linkPrivacy, style.noPrint)}\n >\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n ),\n })}\n />\n )}\n {otherConditions && (\n <Field\n {...fieldProps}\n label={translate(L10N.LABEL_OTHERS_TERMS)}\n value={parseHtml(otherConditions, { small })}\n />\n )}\n </View>\n\n {cancelationPolicy?.detail && (\n <Modal title={translate(L10N.LABEL_CANCELLATION_POLICY)} visible={modal} onClose={() => setModal(false)}>\n <Text className={style.modal}>{cancelationPolicy.detail}</Text>\n </Modal>\n )}\n </>\n );\n};\n\nBookingTerms.displayName = 'Mirai:Core:BookingTerms';\n\nBookingTerms.propTypes = {\n dataSource: PropTypes.shape({\n cancelationPolicy: PropTypes.shape({\n summary: PropTypes.string,\n details: PropTypes.string,\n }),\n payment: PropTypes.PropTypes.shape({}),\n paymentsConditions: PropTypes.string,\n }),\n small: PropTypes.bool,\n};\n\nexport { BookingTerms };\n"],"mappings":"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"}
|
package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js
CHANGED
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.NotificationRequiredFields = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
9
|
var _ui = require("@mirai/ui");
|
|
9
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _NotificationRequiredFields = require("./NotificationRequiredFields.l10n");
|
|
12
13
|
var style = _interopRequireWildcard(require("./NotificationRequiredFields.module.css"));
|
|
14
|
+
var _helpers = require("../../helpers");
|
|
13
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -27,13 +29,34 @@ const NotificationRequiredFields = _ref => {
|
|
|
27
29
|
const {
|
|
28
30
|
translate
|
|
29
31
|
} = (0, _locale.useLocale)();
|
|
32
|
+
const {
|
|
33
|
+
value: {
|
|
34
|
+
components = {}
|
|
35
|
+
}
|
|
36
|
+
} = (0, _dataSources.useStore)();
|
|
37
|
+
(0, _react.useEffect)(() => {
|
|
38
|
+
if (metrics) {
|
|
39
|
+
const keys = Object.keys(values);
|
|
40
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
41
|
+
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS"),
|
|
42
|
+
fields: keys,
|
|
43
|
+
total: keys.length
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47
|
+
}, [values]);
|
|
30
48
|
const handlePress = id => {
|
|
31
49
|
const el = document.querySelector(id);
|
|
32
50
|
el && window.scrollTo({
|
|
33
51
|
top: el.getBoundingClientRect().top + window.scrollY - OFFSET,
|
|
34
52
|
behavior: 'smooth'
|
|
35
53
|
});
|
|
54
|
+
if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
55
|
+
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS:VIEW_FIELD"),
|
|
56
|
+
field: id
|
|
57
|
+
});
|
|
36
58
|
};
|
|
59
|
+
const metrics = components.checkout ? 'CHECKOUT' : components.signup ? 'SIGNUP' : components.profile ? 'PROFILE' : undefined;
|
|
37
60
|
return Object.keys(values).length ? /*#__PURE__*/_react.default.createElement(_ui.Notification, _extends({}, others, {
|
|
38
61
|
error: true,
|
|
39
62
|
small: isMobile,
|
package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationRequiredFields.js","names":["
|
|
1
|
+
{"version":3,"file":"NotificationRequiredFields.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_NotificationRequiredFields","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","OFFSET","NotificationRequiredFields","_ref","form","values","others","isMobile","useDevice","translate","useLocale","value","components","useStore","useEffect","metrics","keys","Event","publish","EVENT","METRICS","id","concat","fields","total","handlePress","el","document","querySelector","window","scrollTo","top","getBoundingClientRect","scrollY","behavior","field","checkout","signup","profile","undefined","createElement","Notification","error","small","wide","L10N","NOTIFICATION_REQUIRED_FIELDS","View","row","className","map","Action","markdown","underline","onPress","toUpperCase","exports","displayName","propTypes","PropTypes","string","shape"],"sources":["../../../../src/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { L10N } from './NotificationRequiredFields.l10n';\nimport * as style from './NotificationRequiredFields.module.css';\nimport { EVENT } from '../../helpers';\n\nconst OFFSET = 16;\n\nconst NotificationRequiredFields = ({ form = 'form', values = {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n\n useEffect(() => {\n if (metrics) {\n const keys = Object.keys(values);\n Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS`, fields: keys, total: keys.length });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handlePress = (id) => {\n const el = document.querySelector(id);\n el && window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - OFFSET, behavior: 'smooth' });\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS:VIEW_FIELD`, field: id });\n };\n\n const metrics = components.checkout\n ? 'CHECKOUT'\n : components.signup\n ? 'SIGNUP'\n : components.profile\n ? 'PROFILE'\n : undefined;\n\n return Object.keys(values).length ? (\n <Notification {...others} error small={isMobile} wide>\n {translate(L10N.NOTIFICATION_REQUIRED_FIELDS)}\n <View row wide className={style.fields}>\n {Object.keys(values).map((field) => (\n <Action key={field} markdown={false} underline small onPress={() => handlePress(`#${form}-${field}`)}>\n {L10N[`LABEL_${field.toUpperCase()}`] ? translate(L10N[`LABEL_${field.toUpperCase()}`]) : field}\n </Action>\n ))}\n </View>\n </Notification>\n ) : null;\n};\n\nNotificationRequiredFields.displayName = 'Mirai:Core:NotificationRequiredFields';\n\nNotificationRequiredFields.propTypes = {\n form: PropTypes.string,\n values: PropTypes.shape({}),\n};\n\nexport { NotificationRequiredFields };\n"],"mappings":"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"}
|
|
@@ -13,10 +13,12 @@ var _helpers = require("./helpers");
|
|
|
13
13
|
var _Payment = require("./Payment.constants");
|
|
14
14
|
var _Payment2 = require("./Payment.l10n");
|
|
15
15
|
var style = _interopRequireWildcard(require("./Payment.module.css"));
|
|
16
|
+
var _helpers2 = require("../../helpers");
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
20
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
let timeoutChange;
|
|
20
22
|
const Payment = _ref => {
|
|
21
23
|
let {
|
|
22
24
|
children,
|
|
@@ -40,7 +42,10 @@ const Payment = _ref => {
|
|
|
40
42
|
translate
|
|
41
43
|
} = (0, _locale.useLocale)();
|
|
42
44
|
const {
|
|
43
|
-
set
|
|
45
|
+
set,
|
|
46
|
+
value: {
|
|
47
|
+
components = {}
|
|
48
|
+
}
|
|
44
49
|
} = (0, _dataSources.useStore)();
|
|
45
50
|
const [cardType, setCardType] = (0, _react.useState)();
|
|
46
51
|
const [method, setMethod] = (0, _react.useState)(methods.length > 0 ? methods[0] : undefined);
|
|
@@ -72,12 +77,27 @@ const Payment = _ref => {
|
|
|
72
77
|
...next
|
|
73
78
|
}
|
|
74
79
|
});
|
|
80
|
+
if (metrics && Object.keys(values).length > 0) {
|
|
81
|
+
clearTimeout(timeoutChange);
|
|
82
|
+
timeoutChange = setTimeout(() => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
83
|
+
id: "".concat(metrics, ":PAYMENT:FORM"),
|
|
84
|
+
method
|
|
85
|
+
}), _helpers2.SUBMIT_DELAY);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const handleChangeMethod = nextMethod => {
|
|
89
|
+
setMethod(nextMethod);
|
|
90
|
+
if (metrics) _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
91
|
+
id: "".concat(metrics, ":PAYMENT:CHANGE_METHOD"),
|
|
92
|
+
method: nextMethod
|
|
93
|
+
});
|
|
75
94
|
};
|
|
76
95
|
const {
|
|
77
96
|
testId = 'payments'
|
|
78
97
|
} = others;
|
|
79
98
|
const standalone = methods.length === 1;
|
|
80
99
|
const availableMethods = methods.filter(item => !!_Payment.METHOD[item]);
|
|
100
|
+
const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;
|
|
81
101
|
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
82
102
|
role: "payments",
|
|
83
103
|
tag: "payment",
|
|
@@ -112,7 +132,7 @@ const Payment = _ref => {
|
|
|
112
132
|
className: style.item
|
|
113
133
|
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
114
134
|
disabled: selected || standalone,
|
|
115
|
-
onPress: () =>
|
|
135
|
+
onPress: () => handleChangeMethod(item),
|
|
116
136
|
className: (0, _ui.styles)(style.header, selected && style.selected),
|
|
117
137
|
testId: testId ? "".concat(testId, "-item-").concat(item) : undefined
|
|
118
138
|
}, !standalone && /*#__PURE__*/_react.default.createElement(_ui.Radio, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Payment","_Payment2","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Payment","_ref","children","config","currency","error","info","methods","showErrors","onChange","onError","others","isDesktop","isMobile","useDevice","currencyFormat","dateFormat","translate","useLocale","useStore","cardType","setCardType","useState","method","setMethod","undefined","useEffect","payment","handleChange","values","type","next","testId","standalone","availableMethods","filter","item","METHOD","createElement","View","role","tag","row","className","styles","container","Text","bold","headline","header","L10N","LABEL_PAYMENT_METHODS","map","selected","caption","getCaption","component","getComponent","image","getImage","time","Pressable","disabled","onPress","concat","Radio","checked","name","value","radio","title","alt","split","join","src","process","env","SERVICE_STATIC","URL_IMAGES","CARD","CARD_PREPAY","PCIPROXY","TPV","includes","cards","card","toLowerCase","content","small","withComponent","amount","date","DATE_FORMAT","day","LABEL_DAY","hour","LABEL_HOUR","React","exports","displayName","propTypes","PropTypes","any","shape","arrayOf","string","provider","oneOf","PROVIDER","showCVV","bool","object","cardValidation","instanceOf","Date","number","array","isRequired","func"],"sources":["../../../../src/components/__shared__/Payment/Payment.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Pressable, Radio, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption, getComponent, getImage } from './helpers';\nimport { DATE_FORMAT, METHOD, PROVIDER, URL_IMAGES } from './Payment.constants';\nimport { L10N } from './Payment.l10n';\nimport * as style from './Payment.module.css';\n\nconst Payment = ({\n children,\n config = {},\n currency,\n error = {},\n info = {},\n methods = [],\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { currencyFormat, dateFormat, translate } = useLocale();\n const { set } = useStore();\n\n const [cardType, setCardType] = useState();\n const [method, setMethod] = useState(methods.length > 0 ? methods[0] : undefined);\n\n useEffect(() => {\n onChange({ method });\n set({ payment: { method } });\n onError({});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [method]);\n\n const handleChange = (values = {}) => {\n const { type } = values;\n type !== cardType && setCardType(type);\n const next = { method, ...values };\n onChange(next);\n set({ payment: { ...next } });\n };\n\n const { testId = 'payments' } = others;\n const standalone = methods.length === 1;\n const availableMethods = methods.filter((item) => !!METHOD[item]);\n\n return (\n <View {...others} role=\"payments\" tag=\"payment\" row={false} className={styles(style.container, others.className)}>\n {availableMethods.length > 1 && (\n <View className={style.item}>\n <Text bold headline={!isMobile} className={style.header}>\n {translate(L10N.LABEL_PAYMENT_METHODS)}\n </Text>\n </View>\n )}\n {availableMethods.map((item) => {\n const selected = method === item;\n const caption = selected ? getCaption({ method, ...info, ...config }) : undefined;\n const component = selected ? getComponent({ method: item, ...info, ...config }) : undefined;\n const image = getImage({ method: item });\n const { time = {} } = info || {};\n\n return (\n <View key={item} className={style.item}>\n <Pressable\n disabled={selected || standalone}\n onPress={() => setMethod(item)}\n className={styles(style.header, selected && style.selected)}\n testId={testId ? `${testId}-item-${item}` : undefined}\n >\n {!standalone && <Radio checked={selected} name=\"method\" value={item} className={style.radio} />}\n <Text\n bold\n headline={isDesktop && standalone}\n className={styles(style.title, selected && style.selected)}\n testId={testId ? `${testId}-text-${item}` : undefined}\n >\n {translate(L10N[`LABEL_${item}`])}\n </Text>\n\n {image && (\n <View\n alt={`${item?.split('_').join(' ')}`}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/${image}`}\n tag=\"img\"\n className={style.image}\n />\n )}\n\n {[METHOD.CARD, METHOD.CARD_PREPAY, METHOD.PCIPROXY, METHOD.TPV].includes(item) &&\n (config.cards || []).map((card) => (\n <View\n alt={card}\n key={card}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/cards/${card.toLowerCase()}.png`}\n tag=\"img\"\n className={styles(style.image, selected && cardType && card !== cardType && style.disabled)}\n />\n ))}\n </Pressable>\n\n {selected && (\n <View className={style.content} testId={testId ? `${testId}-container-${item}` : undefined}>\n {caption && (\n <Text small className={styles(style.caption, component && style.withComponent)}>\n {translate(caption, {\n amount: currencyFormat({ currency, value: info?.amount }),\n date: dateFormat(info?.date, DATE_FORMAT),\n day: translate(L10N.LABEL_DAY, { value: time.value }),\n hour: translate(L10N.LABEL_HOUR, { value: time.value }),\n type: time.type,\n })}\n </Text>\n )}\n\n {component &&\n React.createElement(component, {\n error,\n showErrors,\n ...others,\n ...config,\n onChange: handleChange,\n onError,\n })}\n </View>\n )}\n </View>\n );\n })}\n\n {children && <View className={style.children}>{children}</View>}\n </View>\n );\n};\n\nPayment.displayName = 'Mirai:Core:Payment';\n\nPayment.propTypes = {\n children: PropTypes.any,\n config: PropTypes.shape({\n cards: PropTypes.arrayOf(PropTypes.string),\n provider: PropTypes.oneOf(Object.values(PROVIDER)),\n showCVV: PropTypes.bool,\n }),\n currency: PropTypes.string,\n error: PropTypes.object,\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n time: PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n }),\n methods: PropTypes.array.isRequired,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Payment };\n"],"mappings":";;;;;;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,QAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AAA8C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE9C,MAAMK,OAAO,GAAGC,IAAA,IAWV;EAAA,IAXW;IACfC,QAAQ;IACRC,MAAM,GAAG,CAAC,CAAC;IACXC,QAAQ;IACRC,KAAK,GAAG,CAAC,CAAC;IACVC,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO,GAAG,EAAE;IACZC,UAAU,GAAG,KAAK;IAClBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClB,GAAGC;EACL,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7D,MAAM;IAAE7B;EAAI,CAAC,GAAG,IAAA8B,qBAAQ,EAAC,CAAC;EAE1B,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAACf,OAAO,CAACX,MAAM,GAAG,CAAC,GAAGW,OAAO,CAAC,CAAC,CAAC,GAAGkB,SAAS,CAAC;EAEjF,IAAAC,gBAAS,EAAC,MAAM;IACdjB,QAAQ,CAAC;MAAEc;IAAO,CAAC,CAAC;IACpBlC,GAAG,CAAC;MAAEsC,OAAO,EAAE;QAAEJ;MAAO;IAAE,CAAC,CAAC;IAC5Bb,OAAO,CAAC,CAAC,CAAC,CAAC;IACX;EACF,CAAC,EAAE,CAACa,MAAM,CAAC,CAAC;EAEZ,MAAMK,YAAY,GAAG,SAAAA,CAAA,EAAiB;IAAA,IAAhBC,MAAM,GAAAlC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;IAC/B,MAAM;MAAEmC;IAAK,CAAC,GAAGD,MAAM;IACvBC,IAAI,KAAKV,QAAQ,IAAIC,WAAW,CAACS,IAAI,CAAC;IACtC,MAAMC,IAAI,GAAG;MAAER,MAAM;MAAE,GAAGM;IAAO,CAAC;IAClCpB,QAAQ,CAACsB,IAAI,CAAC;IACd1C,GAAG,CAAC;MAAEsC,OAAO,EAAE;QAAE,GAAGI;MAAK;IAAE,CAAC,CAAC;EAC/B,CAAC;EAED,MAAM;IAAEC,MAAM,GAAG;EAAW,CAAC,GAAGrB,MAAM;EACtC,MAAMsB,UAAU,GAAG1B,OAAO,CAACX,MAAM,KAAK,CAAC;EACvC,MAAMsC,gBAAgB,GAAG3B,OAAO,CAAC4B,MAAM,CAAEC,IAAI,IAAK,CAAC,CAACC,eAAM,CAACD,IAAI,CAAC,CAAC;EAEjE,oBACEzE,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI,EAAAhD,QAAA,KAAKoB,MAAM;IAAE6B,IAAI,EAAC,UAAU;IAACC,GAAG,EAAC,SAAS;IAACC,GAAG,EAAE,KAAM;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC5E,KAAK,CAAC6E,SAAS,EAAElC,MAAM,CAACgC,SAAS;EAAE,IAC9GT,gBAAgB,CAACtC,MAAM,GAAG,CAAC,iBAC1BjC,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACI,SAAS,EAAE3E,KAAK,CAACoE;EAAK,gBAC1BzE,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAAsF,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAE,CAACnC,QAAS;IAAC8B,SAAS,EAAE3E,KAAK,CAACiF;EAAO,GACrDhC,SAAS,CAACiC,cAAI,CAACC,qBAAqB,CACjC,CACF,CACP,EACAjB,gBAAgB,CAACkB,GAAG,CAAEhB,IAAI,IAAK;IAC9B,MAAMiB,QAAQ,GAAG9B,MAAM,KAAKa,IAAI;IAChC,MAAMkB,OAAO,GAAGD,QAAQ,GAAG,IAAAE,mBAAU,EAAC;MAAEhC,MAAM;MAAE,GAAGjB,IAAI;MAAE,GAAGH;IAAO,CAAC,CAAC,GAAGsB,SAAS;IACjF,MAAM+B,SAAS,GAAGH,QAAQ,GAAG,IAAAI,qBAAY,EAAC;MAAElC,MAAM,EAAEa,IAAI;MAAE,GAAG9B,IAAI;MAAE,GAAGH;IAAO,CAAC,CAAC,GAAGsB,SAAS;IAC3F,MAAMiC,KAAK,GAAG,IAAAC,iBAAQ,EAAC;MAAEpC,MAAM,EAAEa;IAAK,CAAC,CAAC;IACxC,MAAM;MAAEwB,IAAI,GAAG,CAAC;IAAE,CAAC,GAAGtD,IAAI,IAAI,CAAC,CAAC;IAEhC,oBACE3C,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;MAACzC,GAAG,EAAEsC,IAAK;MAACO,SAAS,EAAE3E,KAAK,CAACoE;IAAK,gBACrCzE,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAAqG,SAAS;MACRC,QAAQ,EAAET,QAAQ,IAAIpB,UAAW;MACjC8B,OAAO,EAAEA,CAAA,KAAMvC,SAAS,CAACY,IAAI,CAAE;MAC/BO,SAAS,EAAE,IAAAC,UAAM,EAAC5E,KAAK,CAACiF,MAAM,EAAEI,QAAQ,IAAIrF,KAAK,CAACqF,QAAQ,CAAE;MAC5DrB,MAAM,EAAEA,MAAM,MAAAgC,MAAA,CAAMhC,MAAM,YAAAgC,MAAA,CAAS5B,IAAI,IAAKX;IAAU,GAErD,CAACQ,UAAU,iBAAItE,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAAyG,KAAK;MAACC,OAAO,EAAEb,QAAS;MAACc,IAAI,EAAC,QAAQ;MAACC,KAAK,EAAEhC,IAAK;MAACO,SAAS,EAAE3E,KAAK,CAACqG;IAAM,CAAE,CAAC,eAC/F1G,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAAsF,IAAI;MACHC,IAAI;MACJC,QAAQ,EAAEpC,SAAS,IAAIqB,UAAW;MAClCU,SAAS,EAAE,IAAAC,UAAM,EAAC5E,KAAK,CAACsG,KAAK,EAAEjB,QAAQ,IAAIrF,KAAK,CAACqF,QAAQ,CAAE;MAC3DrB,MAAM,EAAEA,MAAM,MAAAgC,MAAA,CAAMhC,MAAM,YAAAgC,MAAA,CAAS5B,IAAI,IAAKX;IAAU,GAErDR,SAAS,CAACiC,cAAI,UAAAc,MAAA,CAAU5B,IAAI,EAAG,CAC5B,CAAC,EAENsB,KAAK,iBACJ/F,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;MACHgC,GAAG,KAAAP,MAAA,CAAK5B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoC,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAG;MACrCC,GAAG,KAAAV,MAAA,CAAKW,OAAO,CAACC,GAAG,CAACC,cAAc,OAAAb,MAAA,CAAIc,mBAAU,OAAAd,MAAA,CAAIN,KAAK,CAAG;MAC5DjB,GAAG,EAAC,KAAK;MACTE,SAAS,EAAE3E,KAAK,CAAC0F;IAAM,CACxB,CACF,EAEA,CAACrB,eAAM,CAAC0C,IAAI,EAAE1C,eAAM,CAAC2C,WAAW,EAAE3C,eAAM,CAAC4C,QAAQ,EAAE5C,eAAM,CAAC6C,GAAG,CAAC,CAACC,QAAQ,CAAC/C,IAAI,CAAC,IAC5E,CAACjC,MAAM,CAACiF,KAAK,IAAI,EAAE,EAAEhC,GAAG,CAAEiC,IAAI,iBAC5B1H,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;MACHgC,GAAG,EAAEc,IAAK;MACVvF,GAAG,EAAEuF,IAAK;MACVX,GAAG,KAAAV,MAAA,CAAKW,OAAO,CAACC,GAAG,CAACC,cAAc,OAAAb,MAAA,CAAIc,mBAAU,aAAAd,MAAA,CAAUqB,IAAI,CAACC,WAAW,CAAC,CAAC,SAAO;MACnF7C,GAAG,EAAC,KAAK;MACTE,SAAS,EAAE,IAAAC,UAAM,EAAC5E,KAAK,CAAC0F,KAAK,EAAEL,QAAQ,IAAIjC,QAAQ,IAAIiE,IAAI,KAAKjE,QAAQ,IAAIpD,KAAK,CAAC8F,QAAQ;IAAE,CAC7F,CACF,CACM,CAAC,EAEXT,QAAQ,iBACP1F,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;MAACI,SAAS,EAAE3E,KAAK,CAACuH,OAAQ;MAACvD,MAAM,EAAEA,MAAM,MAAAgC,MAAA,CAAMhC,MAAM,iBAAAgC,MAAA,CAAc5B,IAAI,IAAKX;IAAU,GACxF6B,OAAO,iBACN3F,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAAsF,IAAI;MAAC0C,KAAK;MAAC7C,SAAS,EAAE,IAAAC,UAAM,EAAC5E,KAAK,CAACsF,OAAO,EAAEE,SAAS,IAAIxF,KAAK,CAACyH,aAAa;IAAE,GAC5ExE,SAAS,CAACqC,OAAO,EAAE;MAClBoC,MAAM,EAAE3E,cAAc,CAAC;QAAEX,QAAQ;QAAEgE,KAAK,EAAE9D,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoF;MAAO,CAAC,CAAC;MACzDC,IAAI,EAAE3E,UAAU,CAACV,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqF,IAAI,EAAEC,oBAAW,CAAC;MACzCC,GAAG,EAAE5E,SAAS,CAACiC,cAAI,CAAC4C,SAAS,EAAE;QAAE1B,KAAK,EAAER,IAAI,CAACQ;MAAM,CAAC,CAAC;MACrD2B,IAAI,EAAE9E,SAAS,CAACiC,cAAI,CAAC8C,UAAU,EAAE;QAAE5B,KAAK,EAAER,IAAI,CAACQ;MAAM,CAAC,CAAC;MACvDtC,IAAI,EAAE8B,IAAI,CAAC9B;IACb,CAAC,CACG,CACP,EAEA0B,SAAS,iBACRyC,cAAK,CAAC3D,aAAa,CAACkB,SAAS,EAAE;MAC7BnD,KAAK;MACLG,UAAU;MACV,GAAGG,MAAM;MACT,GAAGR,MAAM;MACTM,QAAQ,EAAEmB,YAAY;MACtBlB;IACF,CAAC,CACC,CAEJ,CAAC;EAEX,CAAC,CAAC,EAEDR,QAAQ,iBAAIvC,MAAA,CAAAY,OAAA,CAAA+D,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACI,SAAS,EAAE3E,KAAK,CAACkC;EAAS,GAAEA,QAAe,CAC1D,CAAC;AAEX,CAAC;AAACgG,OAAA,CAAAlG,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACmG,WAAW,GAAG,oBAAoB;AAE1CnG,OAAO,CAACoG,SAAS,GAAG;EAClBlG,QAAQ,EAAEmG,kBAAS,CAACC,GAAG;EACvBnG,MAAM,EAAEkG,kBAAS,CAACE,KAAK,CAAC;IACtBnB,KAAK,EAAEiB,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACI,MAAM,CAAC;IAC1CC,QAAQ,EAAEL,kBAAS,CAACM,KAAK,CAAC9H,MAAM,CAACgD,MAAM,CAAC+E,iBAAQ,CAAC,CAAC;IAClDC,OAAO,EAAER,kBAAS,CAACS;EACrB,CAAC,CAAC;EACF1G,QAAQ,EAAEiG,kBAAS,CAACI,MAAM;EAC1BpG,KAAK,EAAEgG,kBAAS,CAACU,MAAM;EACvBzG,IAAI,EAAE+F,kBAAS,CAACE,KAAK,CAAC;IACpBS,cAAc,EAAEX,kBAAS,CAACS,IAAI;IAC9BnB,IAAI,EAAEU,kBAAS,CAACY,UAAU,CAACC,IAAI,CAAC;IAChCxB,MAAM,EAAEW,kBAAS,CAACc,MAAM;IACxBvD,IAAI,EAAEyC,kBAAS,CAACE,KAAK,CAAC;MACpBzE,IAAI,EAAEuE,kBAAS,CAACc,MAAM;MACtB/C,KAAK,EAAEiC,kBAAS,CAACc;IACnB,CAAC;EACH,CAAC,CAAC;EACF5G,OAAO,EAAE8F,kBAAS,CAACe,KAAK,CAACC,UAAU;EACnC7G,UAAU,EAAE6F,kBAAS,CAACS,IAAI;EAC1BrG,QAAQ,EAAE4F,kBAAS,CAACiB,IAAI;EACxB5G,OAAO,EAAE2F,kBAAS,CAACiB;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Payment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Payment","_Payment2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","timeoutChange","Payment","_ref","children","config","currency","error","info","methods","showErrors","onChange","onError","others","isDesktop","isMobile","useDevice","currencyFormat","dateFormat","translate","useLocale","value","components","useStore","cardType","setCardType","useState","method","setMethod","undefined","useEffect","payment","handleChange","values","type","next","metrics","keys","clearTimeout","setTimeout","Event","publish","EVENT","METRICS","id","concat","SUBMIT_DELAY","handleChangeMethod","nextMethod","testId","standalone","availableMethods","filter","item","METHOD","checkout","booking","createElement","View","role","tag","row","className","styles","container","Text","bold","headline","header","L10N","LABEL_PAYMENT_METHODS","map","selected","caption","getCaption","component","getComponent","image","getImage","time","Pressable","disabled","onPress","Radio","checked","name","radio","title","alt","split","join","src","process","env","SERVICE_STATIC","URL_IMAGES","CARD","CARD_PREPAY","PCIPROXY","TPV","includes","cards","card","toLowerCase","content","small","withComponent","amount","date","DATE_FORMAT","day","LABEL_DAY","hour","LABEL_HOUR","React","exports","displayName","propTypes","PropTypes","any","shape","arrayOf","string","provider","oneOf","PROVIDER","showCVV","bool","object","cardValidation","instanceOf","Date","number","array","isRequired","func"],"sources":["../../../../src/components/__shared__/Payment/Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Pressable, Radio, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption, getComponent, getImage } from './helpers';\nimport { DATE_FORMAT, METHOD, PROVIDER, URL_IMAGES } from './Payment.constants';\nimport { L10N } from './Payment.l10n';\nimport * as style from './Payment.module.css';\nimport { EVENT, SUBMIT_DELAY } from '../../helpers';\n\nlet timeoutChange;\n\nconst Payment = ({\n children,\n config = {},\n currency,\n error = {},\n info = {},\n methods = [],\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { currencyFormat, dateFormat, translate } = useLocale();\n const {\n set,\n value: { components = {} },\n } = useStore();\n\n const [cardType, setCardType] = useState();\n const [method, setMethod] = useState(methods.length > 0 ? methods[0] : undefined);\n\n useEffect(() => {\n onChange({ method });\n set({ payment: { method } });\n onError({});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [method]);\n\n const handleChange = (values = {}) => {\n const { type } = values;\n\n type !== cardType && setCardType(type);\n const next = { method, ...values };\n onChange(next);\n set({ payment: { ...next } });\n\n if (metrics && Object.keys(values).length > 0) {\n clearTimeout(timeoutChange);\n timeoutChange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `${metrics}:PAYMENT:FORM`, method }),\n SUBMIT_DELAY,\n );\n }\n };\n\n const handleChangeMethod = (nextMethod) => {\n setMethod(nextMethod);\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:PAYMENT:CHANGE_METHOD`, method: nextMethod });\n };\n\n const { testId = 'payments' } = others;\n const standalone = methods.length === 1;\n const availableMethods = methods.filter((item) => !!METHOD[item]);\n const metrics = components.checkout ? 'CHECKOUT' : components.booking ? 'BOOKING' : undefined;\n\n return (\n <View {...others} role=\"payments\" tag=\"payment\" row={false} className={styles(style.container, others.className)}>\n {availableMethods.length > 1 && (\n <View className={style.item}>\n <Text bold headline={!isMobile} className={style.header}>\n {translate(L10N.LABEL_PAYMENT_METHODS)}\n </Text>\n </View>\n )}\n {availableMethods.map((item) => {\n const selected = method === item;\n const caption = selected ? getCaption({ method, ...info, ...config }) : undefined;\n const component = selected ? getComponent({ method: item, ...info, ...config }) : undefined;\n const image = getImage({ method: item });\n const { time = {} } = info || {};\n\n return (\n <View key={item} className={style.item}>\n <Pressable\n disabled={selected || standalone}\n onPress={() => handleChangeMethod(item)}\n className={styles(style.header, selected && style.selected)}\n testId={testId ? `${testId}-item-${item}` : undefined}\n >\n {!standalone && <Radio checked={selected} name=\"method\" value={item} className={style.radio} />}\n <Text\n bold\n headline={isDesktop && standalone}\n className={styles(style.title, selected && style.selected)}\n testId={testId ? `${testId}-text-${item}` : undefined}\n >\n {translate(L10N[`LABEL_${item}`])}\n </Text>\n\n {image && (\n <View\n alt={`${item?.split('_').join(' ')}`}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/${image}`}\n tag=\"img\"\n className={style.image}\n />\n )}\n\n {[METHOD.CARD, METHOD.CARD_PREPAY, METHOD.PCIPROXY, METHOD.TPV].includes(item) &&\n (config.cards || []).map((card) => (\n <View\n alt={card}\n key={card}\n src={`${process.env.SERVICE_STATIC}/${URL_IMAGES}/cards/${card.toLowerCase()}.png`}\n tag=\"img\"\n className={styles(style.image, selected && cardType && card !== cardType && style.disabled)}\n />\n ))}\n </Pressable>\n\n {selected && (\n <View className={style.content} testId={testId ? `${testId}-container-${item}` : undefined}>\n {caption && (\n <Text small className={styles(style.caption, component && style.withComponent)}>\n {translate(caption, {\n amount: currencyFormat({ currency, value: info?.amount }),\n date: dateFormat(info?.date, DATE_FORMAT),\n day: translate(L10N.LABEL_DAY, { value: time.value }),\n hour: translate(L10N.LABEL_HOUR, { value: time.value }),\n type: time.type,\n })}\n </Text>\n )}\n\n {component &&\n React.createElement(component, {\n error,\n showErrors,\n ...others,\n ...config,\n onChange: handleChange,\n onError,\n })}\n </View>\n )}\n </View>\n );\n })}\n\n {children && <View className={style.children}>{children}</View>}\n </View>\n );\n};\n\nPayment.displayName = 'Mirai:Core:Payment';\n\nPayment.propTypes = {\n children: PropTypes.any,\n config: PropTypes.shape({\n cards: PropTypes.arrayOf(PropTypes.string),\n provider: PropTypes.oneOf(Object.values(PROVIDER)),\n showCVV: PropTypes.bool,\n }),\n currency: PropTypes.string,\n error: PropTypes.object,\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n time: PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n }),\n methods: PropTypes.array.isRequired,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Payment };\n"],"mappings":"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"}
|
|
@@ -71,7 +71,8 @@ const PerfomanceManager = () => {
|
|
|
71
71
|
if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
|
|
72
72
|
const event = id.toUpperCase().trim();
|
|
73
73
|
const [metric] = event.split(':');
|
|
74
|
-
|
|
74
|
+
const KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];
|
|
75
|
+
if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;
|
|
75
76
|
const method = event.includes('RENDER') ? trackRender : track;
|
|
76
77
|
method(event, {
|
|
77
78
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","metrics","ServiceFeatures","get","bannedMetrics","_ref3","_ref4","key","handleMetrics","_ref5","props","window","IS_PLAYWRIGHT","location","host","toUpperCase","trim","metric","split","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","metrics","ServiceFeatures","get","bannedMetrics","_ref3","_ref4","key","handleMetrics","_ref5","props","window","IS_PLAYWRIGHT","location","host","toUpperCase","trim","metric","split","KPI_EVENTS","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n const KPI_EVENTS = ['RATES:RENDER', 'CHECKOUT:RENDER', 'BOOKING:RENDER'];\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -104,7 +104,7 @@ window.Mirai.core = async () => {
|
|
|
104
104
|
|
|
105
105
|
// 12. Render components
|
|
106
106
|
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react.default.StrictMode, null, /*#__PURE__*/_react.default.createElement(_dataSources.MetricsProvider, {
|
|
107
|
-
token: process.env.METRICS
|
|
107
|
+
token: isProduction ? process.env.METRICS : undefined
|
|
108
108
|
}, /*#__PURE__*/_react.default.createElement(_dataSources.StoreProvider, {
|
|
109
109
|
value: store
|
|
110
110
|
}, /*#__PURE__*/_react.default.createElement(_contexts.PerfomanceManager, null), /*#__PURE__*/_react.default.createElement(_Core.Core, {
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerfomanceManager","EventManager","Sentry","SENTRY","loadSentry","setUser","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerfomanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 2. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 6. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 7. Analize id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 9. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 10. Initialize features\n await ServiceFeatures.initialize();\n\n // 11. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 12. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={process.env.METRICS}>\n <StoreProvider value={store}>\n <PerfomanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 13. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n if (session && Sentry) Sentry.setUser(session);\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerfomanceManager","EventManager","Sentry","SENTRY","loadSentry","setUser","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerfomanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 2. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 6. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 7. Analize id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 9. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 10. Initialize features\n await ServiceFeatures.initialize();\n\n // 11. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 12. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={isProduction ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerfomanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 13. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n if (session && Sentry) Sentry.setUser(session);\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":"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"}
|