@mirai/core 0.3.175 → 0.3.176
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/.env +7 -4
- package/build/components/Booking/Booking.js +1 -1
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.l10n.js +0 -15
- package/build/components/Booking/Booking.l10n.js.map +1 -1
- package/build/components/Booking/Booking.module.css +0 -9
- package/build/components/Booking/components/Hotelverse/Hotelverse.js +1 -1
- package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Booking/partials/index.js +2 -13
- package/build/components/Booking/partials/index.js.map +1 -1
- package/build/components/Chat/Chat.constants.js +28 -0
- package/build/components/Chat/Chat.constants.js.map +1 -0
- package/build/components/Chat/Chat.js +231 -0
- package/build/components/Chat/Chat.js.map +1 -0
- package/build/components/Chat/Chat.l10n.js +24 -0
- package/build/components/Chat/Chat.l10n.js.map +1 -0
- package/build/components/Chat/Chat.module.css +90 -0
- package/build/components/Chat/Chat.theme.module.css +49 -0
- package/build/components/Chat/components/Avatar/Avatar.js +68 -0
- package/build/components/Chat/components/Avatar/Avatar.js.map +1 -0
- package/build/components/Chat/components/Avatar/Avatar.module.css +81 -0
- package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +97 -0
- package/build/components/Chat/components/Avatar/index.js +17 -0
- package/build/components/Chat/components/Avatar/index.js.map +1 -0
- package/build/components/Chat/components/Input/Input.js +72 -0
- package/build/components/Chat/components/Input/Input.js.map +1 -0
- package/build/components/Chat/components/Input/Input.l10n.js +15 -0
- package/build/components/Chat/components/Input/Input.l10n.js.map +1 -0
- package/build/components/Chat/components/Input/Input.module.css +19 -0
- package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +175 -0
- package/build/components/Chat/components/Input/index.js +17 -0
- package/build/components/Chat/components/Input/index.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.List.js +52 -0
- package/build/components/Chat/components/InputRich/InputRich.List.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.js +182 -0
- package/build/components/Chat/components/InputRich/InputRich.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.l10n.js +12 -0
- package/build/components/Chat/components/InputRich/InputRich.l10n.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.module.css +73 -0
- package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +275 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseList.js +20 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseList.js.map +1 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js +27 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js.map +1 -0
- package/build/components/Chat/components/InputRich/helpers/index.js +28 -0
- package/build/components/Chat/components/InputRich/helpers/index.js.map +1 -0
- package/build/components/Chat/components/InputRich/index.js +17 -0
- package/build/components/Chat/components/InputRich/index.js.map +1 -0
- package/build/components/Chat/components/Message/Message.constants.js +18 -0
- package/build/components/Chat/components/Message/Message.constants.js.map +1 -0
- package/build/components/Chat/components/Message/Message.js +104 -0
- package/build/components/Chat/components/Message/Message.js.map +1 -0
- package/build/components/Chat/components/Message/Message.module.css +126 -0
- package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +211 -0
- package/build/components/Chat/components/Message/components/Booking.js +63 -0
- package/build/components/Chat/components/Message/components/Booking.js.map +1 -0
- package/build/components/Chat/components/Message/components/Card.js +67 -0
- package/build/components/Chat/components/Message/components/Card.js.map +1 -0
- package/build/components/Chat/components/Message/components/Card.module.css +41 -0
- package/build/components/Chat/components/Message/components/Environment.js +58 -0
- package/build/components/Chat/components/Message/components/Environment.js.map +1 -0
- package/build/components/Chat/components/Message/components/Environment.module.css +22 -0
- package/build/components/Chat/components/Message/components/index.js +39 -0
- package/build/components/Chat/components/Message/components/index.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/getActionIcon.js +13 -0
- package/build/components/Chat/components/Message/helpers/getActionIcon.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/getTime.js +28 -0
- package/build/components/Chat/components/Message/helpers/getTime.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/index.js +28 -0
- package/build/components/Chat/components/Message/helpers/index.js.map +1 -0
- package/build/components/Chat/components/Message/index.js +17 -0
- package/build/components/Chat/components/Message/index.js.map +1 -0
- package/build/components/Chat/components/Message/intents/BookingQuery.js +66 -0
- package/build/components/Chat/components/Message/intents/BookingQuery.js.map +1 -0
- package/build/components/Chat/components/Message/intents/HotelInfo.js +73 -0
- package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -0
- package/build/components/Chat/components/Message/intents/Offers.js +57 -0
- package/build/components/Chat/components/Message/intents/Offers.js.map +1 -0
- package/build/components/Chat/components/Message/intents/Unknown.js +67 -0
- package/build/components/Chat/components/Message/intents/Unknown.js.map +1 -0
- package/build/components/Chat/components/Message/intents/index.js +50 -0
- package/build/components/Chat/components/Message/intents/index.js.map +1 -0
- package/build/components/Chat/components/Offline/Offline.js +22 -0
- package/build/components/Chat/components/Offline/Offline.js.map +1 -0
- package/build/components/Chat/components/Offline/Offline.module.css +3 -0
- package/build/components/Chat/components/Offline/index.js +17 -0
- package/build/components/Chat/components/Offline/index.js.map +1 -0
- package/build/components/Chat/components/index.js +61 -0
- package/build/components/Chat/components/index.js.map +1 -0
- package/build/components/Chat/helpers/getVerboseDate.js +18 -0
- package/build/components/Chat/helpers/getVerboseDate.js.map +1 -0
- package/build/components/Chat/helpers/index.js +17 -0
- package/build/components/Chat/helpers/index.js.map +1 -0
- package/build/components/Chat/index.js +17 -0
- package/build/components/Chat/index.js.map +1 -0
- package/build/components/Checkout/Checkout.js +20 -5
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +14 -0
- package/build/components/Checkout/helpers/getFieldProps.js +3 -1
- package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +11 -7
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +23 -4
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +932 -16
- package/build/components/Profile/components/Settings/Settings.Account.js +26 -8
- package/build/components/Profile/components/Settings/Settings.Account.js.map +1 -1
- package/build/components/Profile/components/Settings/Settings.module.css +4 -0
- package/build/components/Rates/Rates.constants.js +1 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +2 -0
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Hotelverse/Hotelverse.js +1 -1
- package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Rates/components/Item/components/Features/Features.js +27 -2
- package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +5 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
- package/build/components/Signup/Signup.js +24 -6
- package/build/components/Signup/Signup.js.map +1 -1
- package/build/components/Signup/Signup.module.css +4 -0
- package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +24 -9
- package/build/components/{Booking/partials/Booking.Others.js → __shared__/BookingTerms/BookingTerms.js} +17 -18
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js +27 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js.map +1 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.module.css +42 -0
- package/build/components/{Booking/partials/__tests__/__snapshots__/Booking.Others.test.js.snap → __shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap} +4 -8
- package/build/components/__shared__/BookingTerms/index.js +17 -0
- package/build/components/__shared__/BookingTerms/index.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +52 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.l10n.js +62 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.l10n.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.module.css +8 -0
- package/build/components/__shared__/NotificationRequiredFields/index.js +17 -0
- package/build/components/__shared__/NotificationRequiredFields/index.js.map +1 -0
- package/build/components/__shared__/Payment/Payment.js +1 -1
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +302 -8
- package/build/components/__shared__/Payment/components/Card/Card.js +4 -0
- package/build/components/__shared__/Payment/components/Card/Card.js.map +1 -1
- package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +23 -0
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js +2 -0
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/PCI.constants.js +1 -2
- package/build/components/__shared__/Payment/components/PCI/PCI.constants.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/PCI.js +59 -56
- package/build/components/__shared__/Payment/components/PCI/PCI.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +15 -0
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js +2 -0
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/helpers/formatExpire.js +15 -0
- package/build/components/__shared__/Payment/helpers/formatExpire.js.map +1 -0
- package/build/components/__shared__/Payment/helpers/index.js +11 -0
- package/build/components/__shared__/Payment/helpers/index.js.map +1 -1
- package/build/components/__shared__/index.js +22 -0
- package/build/components/__shared__/index.js.map +1 -1
- package/build/components/helpers/ICON.js +13 -0
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/index.js +2 -0
- package/build/components/index.js.map +1 -1
- package/build/services/Lisa/action.js +28 -0
- package/build/services/Lisa/action.js.map +1 -0
- package/build/services/Lisa/index.js +17 -0
- package/build/services/Lisa/index.js.map +1 -0
- package/build/services/Lisa/message.js +26 -0
- package/build/services/Lisa/message.js.map +1 -0
- package/build/services/Lisa/status.js +13 -0
- package/build/services/Lisa/status.js.map +1 -0
- package/build/services/Lisa/welcome.js +25 -0
- package/build/services/Lisa/welcome.js.map +1 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +21 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +6 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +4 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +6 -0
- package/build/services/Rates/extras.js +1 -1
- package/build/services/Rates/extras.js.map +1 -1
- package/build/services/Rates/helpers/getItems.js +1 -1
- package/build/services/Rates/helpers/getItems.js.map +1 -1
- package/build/services/Rates/helpers/parseBoards.js +1 -0
- package/build/services/Rates/helpers/parseBoards.js.map +1 -1
- package/build/services/index.js +11 -0
- package/build/services/index.js.map +1 -1
- package/package.json +1 -1
- package/public/App.Container.jsx +2 -0
- package/build/components/Booking/partials/Booking.Others.js.map +0 -1
|
@@ -17,7 +17,7 @@ var _Checkout3 = _interopRequireDefault(require("./Checkout.skeleton"));
|
|
|
17
17
|
var _helpers = require("./helpers");
|
|
18
18
|
var _partials = require("./partials");
|
|
19
19
|
var _Core = require("../../Core.constants");
|
|
20
|
-
var
|
|
20
|
+
var _shared__ = require("../__shared__");
|
|
21
21
|
var _Booking = require("../Booking/partials/Booking.ModalAgency");
|
|
22
22
|
var _helpers2 = require("../helpers");
|
|
23
23
|
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); }
|
|
@@ -55,6 +55,7 @@ const Checkout = _ref => {
|
|
|
55
55
|
} = (0, _dataSources.useStore)();
|
|
56
56
|
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
57
57
|
const [error, setError] = (0, _react.useState)();
|
|
58
|
+
const [requiredFields, setRequiredFields] = (0, _react.useState)();
|
|
58
59
|
const [modalAgency, setModalAgency] = (0, _react.useState)(false);
|
|
59
60
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
60
61
|
(0, _react.useEffect)(() => {
|
|
@@ -103,6 +104,13 @@ const Checkout = _ref => {
|
|
|
103
104
|
const handleModalAgency = () => {
|
|
104
105
|
setModalAgency(true);
|
|
105
106
|
};
|
|
107
|
+
const handleErrorConfirmation = () => {
|
|
108
|
+
window.scrollTo({
|
|
109
|
+
top: 0,
|
|
110
|
+
behavior: 'smooth'
|
|
111
|
+
});
|
|
112
|
+
setRequiredFields(error);
|
|
113
|
+
};
|
|
106
114
|
const {
|
|
107
115
|
agency = {},
|
|
108
116
|
hotel: {
|
|
@@ -122,6 +130,7 @@ const Checkout = _ref => {
|
|
|
122
130
|
type
|
|
123
131
|
} = {}
|
|
124
132
|
} = club;
|
|
133
|
+
const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;
|
|
125
134
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
126
135
|
role: "checkout",
|
|
127
136
|
testId: others.testId,
|
|
@@ -138,7 +147,10 @@ const Checkout = _ref => {
|
|
|
138
147
|
className: style.content
|
|
139
148
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
140
149
|
className: style.main
|
|
141
|
-
},
|
|
150
|
+
}, hasRequiredFields && /*#__PURE__*/_react.default.createElement(_shared__.NotificationRequiredFields, {
|
|
151
|
+
form: "checkout",
|
|
152
|
+
values: requiredFields
|
|
153
|
+
}), variant === 'B' && /*#__PURE__*/_react.default.createElement(_partials.Summary, {
|
|
142
154
|
dataSource: dataSource,
|
|
143
155
|
variant: variant,
|
|
144
156
|
className: style.box
|
|
@@ -161,18 +173,21 @@ const Checkout = _ref => {
|
|
|
161
173
|
}, translate(_Checkout2.L10N.ACTION_MORE_INFO)))
|
|
162
174
|
})), /*#__PURE__*/_react.default.createElement(_partials.Form, {
|
|
163
175
|
dataSource: dataSource,
|
|
176
|
+
showErrors: hasRequiredFields,
|
|
164
177
|
onError: setError
|
|
165
178
|
}), isDesktop && /*#__PURE__*/_react.default.createElement(_partials.Details, {
|
|
166
179
|
dataSource: dataSource,
|
|
167
180
|
variant: variant
|
|
168
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
181
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.BookingTerms, {
|
|
169
182
|
dataSource: dataSource,
|
|
170
183
|
small: true,
|
|
171
184
|
tracking: _Checkout.TRACKING
|
|
172
185
|
})), /*#__PURE__*/_react.default.createElement(_partials.Confirmation, {
|
|
173
186
|
dataSource: dataSource,
|
|
174
|
-
|
|
175
|
-
variant: variant
|
|
187
|
+
error: Object.keys(error || {}).length > 0,
|
|
188
|
+
variant: variant,
|
|
189
|
+
onError: handleErrorConfirmation,
|
|
190
|
+
onValid: () => setRequiredFields()
|
|
176
191
|
}))) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
177
192
|
error: true,
|
|
178
193
|
large: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_Core","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","club","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","payment","variant","getVariant","active","authentication","type","createElement","Fragment","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","AUTH_TYPE","MIRAI","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = false, skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { club = {}, currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isDesktop, urlParams });\n const { active, authentication: { type } = {} } = club;\n\n return (\n <>\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} variant={variant} className={style.box} />}\n\n {!isDesktop && <Details dataSource={dataSource} variant={variant} />}\n {active && !session && showSession && type === AUTH_TYPE.MIRAI && <Session />}\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {isDesktop && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_Core","_shared__","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","club","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","handleErrorConfirmation","scrollTo","top","behavior","agency","image","payment","variant","getVariant","active","authentication","type","hasRequiredFields","keys","createElement","Fragment","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","NotificationRequiredFields","form","values","Summary","box","Details","AUTH_TYPE","MIRAI","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { BookingTerms, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = false, skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { club = {}, currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, hotel: { image } = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isDesktop, urlParams });\n const { active, authentication: { type } = {} } = club;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {variant === 'B' && <Summary dataSource={dataSource} variant={variant} className={style.box} />}\n\n {!isDesktop && <Details dataSource={dataSource} variant={variant} />}\n {active && !session && showSession && type === AUTH_TYPE.MIRAI && <Session />}\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <Details dataSource={dataSource} variant={variant} />}\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n variant={variant}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,OAAA;AACA,IAAAW,UAAA,GAAAN,sBAAA,CAAAL,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,KAAA,GAAAd,OAAA;AAEA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AAAmC,SAAAkB,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,SAAAZ,wBAAAY,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,SAAAtB,uBAAAkC,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;AAEnC,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,QAAQ,GAAGC,IAAA,IAA2D;EAAA,IAA1D;IAAEC,OAAO,EAAEC,WAAW,GAAG,KAAK;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAJ,IAAA;EACrE,MAAM;IAAEK;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,IAAI,GAAG,CAAC,CAAC;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEjB,OAAO;MAAEkB,SAAS,GAAG,CAAC;IAAE;EACrF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACG,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACO,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC;EAEpD,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI7B,QAAQ,EAAE;IAEdL,WAAW,GAAGmC,yBAAe,CAAC1D,GAAG,CAAC2D,mCAAyB,EAAElB,EAAE,CAAC;IAChElB,WAAW,IAAIY,WAAW,IAAAyB,MAAA,CAAIC,kBAAQ,cAAW;MAAElB;IAAO,CAAC,CAAC;IAE5D,CAAC,YAAY;MACX,MAAMmB,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7CzB,QAAQ;QACRC,KAAK;QACLE,QAAQ;QACRC,MAAM;QACNjB,OAAO,EAAEkB,SAAS,CAACqB,iBAAiB,KAAK,MAAM,GAAGvC,OAAO,GAAGwC,SAAS;QACrE,GAAGtB;MACL,CAAC,CAAC,CAACuB,KAAK,CAAElB,KAAK,IAAK;QAClBO,gBAAgB,CAACP,KAAK,CAAC;QACvB1B,WAAW,IAAIW,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,qBAAkB;UAAEO,OAAO,EAAE,SAAS;UAAEC,MAAM,EAAE,UAAU;UAAEpB;QAAM,CAAC,CAAC;MACtG,CAAC,CAAC;MACFF,aAAa,CAACe,QAAQ,CAAC;MACvBA,QAAQ,IAAI,IAAAQ,eAAK,EAAC;QAAE,GAAGR,QAAQ,CAACS,QAAQ;QAAEC,OAAO,EAAE5B,SAAS,CAAC6B;MAAQ,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC;IAEJC,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACtC,IAAI,CAACpD,WAAW,EAAE;MAClB,MAAM;QAAEqD,WAAW,GAAG,CAAC;QAAEC;MAAQ,CAAC,GAAGH,MAAM;MAC3C,MAAM;QAAEI,eAAe,EAAE;UAAEC,YAAY,GAAG;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGC,QAAQ;MAE/D,IAAIH,OAAO,IAAIE,YAAY,GAAGH,WAAW,EAAE1C,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,mBAAgB,CAAC,CAAC,KACzE,IAAIgB,OAAO,KAAK,CAAC,EAAE3C,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,gBAAa,CAAC;IACzD,CAAC,CAAC;IACF;EACF,CAAC,EAAE,CAACnC,OAAO,CAAC,CAAC;EAEb,MAAMuD,iBAAiB,GAAGA,CAAA,KAAM;IAC9B3B,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAM4B,uBAAuB,GAAGA,CAAA,KAAM;IACpCR,MAAM,CAACS,QAAQ,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC/CjC,iBAAiB,CAACH,KAAK,CAAC;EAC1B,CAAC;EAED,MAAM;IAAEqC,MAAM,GAAG,CAAC,CAAC;IAAE9C,KAAK,EAAE;MAAE+C;IAAM,CAAC,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAG1C,UAAU,IAAI,CAAC,CAAC;EACxE,MAAMgB,QAAQ,GAAGhB,UAAU,KAAKoB,SAAS;EACzC,MAAMuB,OAAO,GAAG,IAAAC,mBAAU,EAAC;IAAEjD,EAAE;IAAEX,SAAS;IAAEc;EAAU,CAAC,CAAC;EACxD,MAAM;IAAE+C,MAAM;IAAEC,cAAc,EAAE;MAAEC;IAAK,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGvD,IAAI;EACtD,MAAMwD,iBAAiB,GAAG1F,MAAM,CAAC2F,IAAI,CAAC5C,cAAc,IAAI,CAAC,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC;EAEtE,oBACEvC,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAApH,MAAA,CAAAkB,OAAA,CAAAmG,QAAA,qBACErH,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAAyH,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAEvE,MAAM,CAACuE,MAAO;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACtH,KAAK,CAACuH,SAAS,EAAE1E,MAAM,CAACwE,SAAS;EAAE,gBAChGzH,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAA+H,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE,CAAC5C,QAAQ,IAAI,CAACP,aAAc;IAAC8C,SAAS,EAAErH,KAAK,CAAC2H;EAAS,CAAE,CAAC,EAC1F7C,QAAQ,gBACPlF,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAApH,MAAA,CAAAkB,OAAA,CAAAmG,QAAA,qBACErH,MAAA,CAAAkB,OAAA,CAAAkG,aAAA;IAAKY,GAAG,EAAErB,KAAM;IAACc,SAAS,EAAErH,KAAK,CAAC6H;EAAK,CAAE,CAAC,eAE1CjI,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAAyH,IAAI;IAACY,GAAG,EAAEhF,SAAU;IAACuE,SAAS,EAAErH,KAAK,CAAC+H;EAAQ,gBAC7CnI,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAAyH,IAAI;IAACG,SAAS,EAAErH,KAAK,CAACgI;EAAK,GACzBlB,iBAAiB,iBAAIlH,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC3G,SAAA,CAAA4H,0BAA0B;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAEhE;EAAe,CAAE,CAAC,EAE3FsC,OAAO,KAAK,GAAG,iBAAI7G,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAAiI,OAAO;IAACtE,UAAU,EAAEA,UAAW;IAAC2C,OAAO,EAAEA,OAAQ;IAACY,SAAS,EAAErH,KAAK,CAACqI;EAAI,CAAE,CAAC,EAE9F,CAACvF,SAAS,iBAAIlD,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAAmI,OAAO;IAACxE,UAAU,EAAEA,UAAW;IAAC2C,OAAO,EAAEA;EAAQ,CAAE,CAAC,EACnEE,MAAM,IAAI,CAACjE,OAAO,IAAIC,WAAW,IAAIkE,IAAI,KAAK0B,eAAS,CAACC,KAAK,iBAAI5I,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAAsI,OAAO,MAAE,CAAC,EAC5E,CAACnC,MAAM,CAACoC,IAAI,IAAI,CAAClC,OAAO,kBACvB5G,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAAkJ,YAAY;IAACC,KAAK;IAACC,IAAI;IAACC,IAAI;IAACzB,SAAS,EAAE,IAAAC,UAAM,EAACtH,KAAK,CAACsG,MAAM,EAAEzD,MAAM,CAACwE,SAAS;EAAE,GAC7E,CAACb,OAAO,OAAA5B,MAAA,CAAO5B,SAAS,CAAC+F,eAAI,CAACC,oBAAoB,CAAC,MAAG,EACtD1C,MAAM,CAACoC,IAAI,IACV1F,SAAS,CAAC+F,eAAI,CAACE,mBAAmB,EAAE;IAClC3C,MAAM,EAAEA,MAAM,CAACoC,IAAI;IACnBQ,IAAI,eACFtJ,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAApH,MAAA,CAAAkB,OAAA,CAAAmG,QAAA,qBACErH,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAA0J,MAAM;MAACC,MAAM;MAACC,SAAS;MAACT,KAAK;MAACU,OAAO,EAAErD,iBAAkB;MAACoB,SAAS,EAAE,IAAAC,UAAM,EAACtH,KAAK,CAACuJ,MAAM;IAAE,GACxFvG,SAAS,CAAC+F,eAAI,CAACS,gBAAgB,CAC1B,CACR;EAEN,CAAC,CACS,CACf,eAED5J,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAAsJ,IAAI;IAAC3F,UAAU,EAAEA,UAAW;IAAC4F,UAAU,EAAE5C,iBAAkB;IAAC6C,OAAO,EAAEzF;EAAS,CAAE,CAAC,EAEjFpB,SAAS,iBAAIlD,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAAmI,OAAO;IAACxE,UAAU,EAAEA,UAAW;IAAC2C,OAAO,EAAEA;EAAQ,CAAE,CAAC,eACnE7G,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC3G,SAAA,CAAAuJ,YAAY;IAAC9F,UAAU,EAAEA,UAAW;IAAC8E,KAAK;IAACrD,QAAQ,EAAEV;EAAS,CAAE,CAC7D,CAAC,eAEPjF,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC7G,SAAA,CAAA0J,YAAY;IACX/F,UAAU,EAAEA,UAAW;IACvBG,KAAK,EAAE7C,MAAM,CAAC2F,IAAI,CAAC9C,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC9B,MAAM,GAAG,CAAE;IAC3CsE,OAAO,EAAEA,OAAQ;IACjBkD,OAAO,EAAEzD,uBAAwB;IACjC4D,OAAO,EAAEA,CAAA,KAAM1F,iBAAiB,CAAC;EAAE,CACpC,CACG,CACN,CAAC,GACDG,aAAa,gBACf3E,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAACvH,GAAA,CAAAkJ,YAAY;IAAC1E,KAAK;IAAC8F,KAAK;EAAA,GACtB/G,SAAS,CAAC+F,eAAI,CAACiB,kBAAkB,CAAC,CAAAzF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0F,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEfvK,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC/G,UAAA,CAAAa,OAAQ,MAAE,CAET,CAAC,EACNwF,MAAM,CAACoC,IAAI,iBAAI9I,MAAA,CAAAkB,OAAA,CAAAkG,aAAA,CAAC1G,QAAA,CAAA8J,WAAW,EAAAtI,QAAA,KAAKwE,MAAM;IAAEoB,OAAO,EAAErD,WAAY;IAACgG,OAAO,EAAEA,CAAA,KAAM/F,cAAc,CAAC,KAAK;EAAE,EAAE,CACtG,CAAC;AAEP,CAAC;AAACgG,OAAA,CAAA9H,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAAC+H,WAAW,GAAG,qBAAqB;AAE5C/H,QAAQ,CAACgI,SAAS,GAAG;EACnB9H,OAAO,EAAE+H,kBAAS,CAACC,IAAI;EACvB9H,QAAQ,EAAE6H,kBAAS,CAACC;AACtB,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
html {
|
|
2
|
+
scroll-behavior: smooth;
|
|
3
|
+
}
|
|
4
|
+
|
|
1
5
|
body {
|
|
2
6
|
padding: 0;
|
|
3
7
|
margin: 0;
|
|
@@ -170,6 +174,12 @@ body {
|
|
|
170
174
|
.modal .scrollview {
|
|
171
175
|
align-items: normal;
|
|
172
176
|
max-height: calc(100svh - var(--mirai-ui-space-XXL) * 3.5);
|
|
177
|
+
border-radius: 0 0 var(--mirai-ui-modal-border-radius) var(--mirai-ui-modal-border-radius);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.scrollview .others {
|
|
181
|
+
border-radius: 0 0 var(--mirai-ui-modal-border-radius) var(--mirai-ui-modal-border-radius);
|
|
182
|
+
box-shadow: none;
|
|
173
183
|
}
|
|
174
184
|
|
|
175
185
|
/* S */
|
|
@@ -231,6 +241,10 @@ body {
|
|
|
231
241
|
padding: var(--mirai-ui-space-L) var(--mirai-ui-space-M);
|
|
232
242
|
}
|
|
233
243
|
|
|
244
|
+
.modal {
|
|
245
|
+
max-width: calc(var(--mirai-ui-breakpoint-M) * 0.9);
|
|
246
|
+
}
|
|
247
|
+
|
|
234
248
|
/* -- <Form> -------------------------------------------------------------- */
|
|
235
249
|
.form .half {
|
|
236
250
|
min-width: calc(50% - calc(var(--mirai-ui-input-text-padding-y) / 2));
|
|
@@ -31,6 +31,7 @@ const getFieldProps = function () {
|
|
|
31
31
|
conditions = ''
|
|
32
32
|
} = {}
|
|
33
33
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
34
|
+
let onPress = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : () => {};
|
|
34
35
|
return {
|
|
35
36
|
...props,
|
|
36
37
|
checked: input === 'InputOption' ? value || props.checked || false : undefined,
|
|
@@ -38,6 +39,7 @@ const getFieldProps = function () {
|
|
|
38
39
|
disabled: field === 'email' && session || undefined,
|
|
39
40
|
error: field !== 'phone' ? (value === null || value === void 0 ? void 0 : value.length) > 0 && !!error : (value === null || value === void 0 ? void 0 : value.length) > 5 && !!error,
|
|
40
41
|
hint: translate(_Checkout.L10N["".concat(field.toUpperCase(), "_HINT")]),
|
|
42
|
+
id: field ? "checkout-".concat(field) : undefined,
|
|
41
43
|
key: field,
|
|
42
44
|
label: props.label || translate(_Checkout.L10N["LABEL_".concat(field.toUpperCase())], {
|
|
43
45
|
club: name,
|
|
@@ -51,9 +53,9 @@ const getFieldProps = function () {
|
|
|
51
53
|
}
|
|
52
54
|
}, translate(_Checkout.L10N.LABEL_TERMS_AND_CONDITIONS)),
|
|
53
55
|
termsLink: /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
54
|
-
href: "#terms",
|
|
55
56
|
inline: true,
|
|
56
57
|
small: true,
|
|
58
|
+
onPress: onPress,
|
|
57
59
|
style: {
|
|
58
60
|
display: 'inline'
|
|
59
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldProps.js","names":["_ui","require","_react","_interopRequireDefault","_testDNI","_helpers","_Checkout","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","getFieldProps","field","arguments","length","undefined","input","props","value","error","session","translate","name","url","conditions","checked","children","parseHtml","disabled","hint","L10N","concat","toUpperCase","key","label","club","clubLink","createElement","Action","href","inline","small","target","display","LABEL_TERMS_AND_CONDITIONS","termsLink","ACTION_MORE_INFO","labelPrefix","LABEL_PHONE_PREFIX","showRequired","includes","success","test","testDNI","className","wide","half","exports"],"sources":["../../../../src/components/Checkout/helpers/getFieldProps.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nimport { testDNI } from './testDNI';\nimport { parseHtml } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nexport const getFieldProps = (\n field = '',\n { input, ...props } = {},\n { value, error, session, translate = () => {} } = {},\n { name = '', url: { conditions = '' } = {} } = {},\n) => ({\n ...props,\n checked: input === 'InputOption' ? value || props.checked || false : undefined,\n children: input === 'Text' && props.children ? parseHtml(props.children) : undefined,\n disabled: (field === 'email' && session) || undefined,\n error: field !== 'phone' ? value?.length > 0 && !!error : value?.length > 5 && !!error,\n hint: translate(L10N[`${field.toUpperCase()}_HINT`]),\n key: field,\n label:\n props.label ||\n translate(L10N[`LABEL_${field.toUpperCase()}`], {\n club: name,\n clubLink: (\n <Action href={conditions} inline small target=\"_blank\" style={{ display: 'inline' }}>\n {translate(L10N.LABEL_TERMS_AND_CONDITIONS)}\n </Action>\n ),\n termsLink: (\n <Action
|
|
1
|
+
{"version":3,"file":"getFieldProps.js","names":["_ui","require","_react","_interopRequireDefault","_testDNI","_helpers","_Checkout","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","getFieldProps","field","arguments","length","undefined","input","props","value","error","session","translate","name","url","conditions","onPress","checked","children","parseHtml","disabled","hint","L10N","concat","toUpperCase","id","key","label","club","clubLink","createElement","Action","href","inline","small","target","display","LABEL_TERMS_AND_CONDITIONS","termsLink","ACTION_MORE_INFO","labelPrefix","LABEL_PHONE_PREFIX","showRequired","includes","success","test","testDNI","className","wide","half","exports"],"sources":["../../../../src/components/Checkout/helpers/getFieldProps.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nimport { testDNI } from './testDNI';\nimport { parseHtml } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nexport const getFieldProps = (\n field = '',\n { input, ...props } = {},\n { value, error, session, translate = () => {} } = {},\n { name = '', url: { conditions = '' } = {} } = {},\n onPress = () => {},\n) => ({\n ...props,\n checked: input === 'InputOption' ? value || props.checked || false : undefined,\n children: input === 'Text' && props.children ? parseHtml(props.children) : undefined,\n disabled: (field === 'email' && session) || undefined,\n error: field !== 'phone' ? value?.length > 0 && !!error : value?.length > 5 && !!error,\n hint: translate(L10N[`${field.toUpperCase()}_HINT`]),\n id: field ? `checkout-${field}` : undefined,\n key: field,\n label:\n props.label ||\n translate(L10N[`LABEL_${field.toUpperCase()}`], {\n club: name,\n clubLink: (\n <Action href={conditions} inline small target=\"_blank\" style={{ display: 'inline' }}>\n {translate(L10N.LABEL_TERMS_AND_CONDITIONS)}\n </Action>\n ),\n termsLink: (\n <Action inline small onPress={onPress} style={{ display: 'inline' }}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n ),\n }) ||\n field,\n labelPrefix: field === 'phone' ? translate(L10N.LABEL_PHONE_PREFIX) : undefined,\n name: field,\n showRequired: true,\n small: ['InputOption', 'Text'].includes(input),\n success: field !== 'phone' ? !!value && !error : value?.length > 4 && !error,\n test: field === 'dni' ? testDNI : undefined,\n value: value || props.value,\n className:\n ['country', 'company', 'comments'].includes(field) || ['InputOption', 'Text'].includes(input)\n ? style.wide\n : style.half,\n});\n"],"mappings":"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"}
|
|
@@ -25,8 +25,10 @@ let hasTracking = false;
|
|
|
25
25
|
const Confirmation = _ref => {
|
|
26
26
|
let {
|
|
27
27
|
dataSource = {},
|
|
28
|
-
|
|
28
|
+
error = false,
|
|
29
29
|
variant,
|
|
30
|
+
onError,
|
|
31
|
+
onValid,
|
|
30
32
|
...others
|
|
31
33
|
} = _ref;
|
|
32
34
|
const {
|
|
@@ -78,6 +80,8 @@ const Confirmation = _ref => {
|
|
|
78
80
|
};
|
|
79
81
|
const handlePress = () => setBusy(true);
|
|
80
82
|
const handleSubmit = async value => {
|
|
83
|
+
if (error) return onError();
|
|
84
|
+
onValid();
|
|
81
85
|
hasTracking && track("".concat(_Checkout2.TRACKING, ":CTA"), {
|
|
82
86
|
locale,
|
|
83
87
|
variant
|
|
@@ -132,7 +136,6 @@ const Confirmation = _ref => {
|
|
|
132
136
|
publicKey: (_config$publicKey = config.publicKey) === null || _config$publicKey === void 0 ? void 0 : _config$publicKey[payment === null || payment === void 0 ? void 0 : payment.method]
|
|
133
137
|
},
|
|
134
138
|
busy: busy,
|
|
135
|
-
disabled: disabled,
|
|
136
139
|
hotel: {
|
|
137
140
|
...hotel,
|
|
138
141
|
id
|
|
@@ -141,7 +144,7 @@ const Confirmation = _ref => {
|
|
|
141
144
|
promise: handleSubmit,
|
|
142
145
|
wide: true,
|
|
143
146
|
onError: handleError,
|
|
144
|
-
onPress: handlePress,
|
|
147
|
+
onPress: error ? onError : handlePress,
|
|
145
148
|
className: variant !== 'B' && style.cta
|
|
146
149
|
}), translate((0, _helpers.getButtonPaymentKey)({
|
|
147
150
|
...config,
|
|
@@ -179,10 +182,9 @@ const Confirmation = _ref => {
|
|
|
179
182
|
className: (0, _ui.styles)(style.box, style.confirmation)
|
|
180
183
|
}), isDesktop ? content() : variant === 'B' ? CTA() : /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
181
184
|
busy: busy,
|
|
182
|
-
disabled: disabled,
|
|
183
185
|
large: true,
|
|
184
186
|
wide: true,
|
|
185
|
-
onPress: handleModal
|
|
187
|
+
onPress: error ? onError : handleModal
|
|
186
188
|
}, translate(_Checkout3.L10N.ACTION_BOOK_NOW)), !isDesktop && /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|
|
187
189
|
title: translate(_Checkout3.L10N.LABEL_BOOKING_SUMMARY),
|
|
188
190
|
visible: modal,
|
|
@@ -196,7 +198,9 @@ exports.Confirmation = Confirmation;
|
|
|
196
198
|
Confirmation.displayName = 'Mirai:Core:Checkout:Confirmation';
|
|
197
199
|
Confirmation.propTypes = {
|
|
198
200
|
dataSource: _propTypes.default.shape({}),
|
|
199
|
-
|
|
200
|
-
variant: _propTypes.default.string
|
|
201
|
+
error: _propTypes.default.bool,
|
|
202
|
+
variant: _propTypes.default.string,
|
|
203
|
+
onError: _propTypes.default.func,
|
|
204
|
+
onValid: _propTypes.default.func
|
|
201
205
|
};
|
|
202
206
|
//# sourceMappingURL=Checkout.Confirmation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Core","_shared__","_helpers","_Checkout2","_Checkout3","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","hasTracking","Confirmation","_ref","dataSource","disabled","variant","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","busy","setBusy","useState","modal","setModal","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","price","prepayment","currency","method","handleError","handleModal","concat","TRACKING","handlePress","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","error","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onError","onPress","className","cta","getButtonPaymentKey","info","amount","currencyFormat","symbol","content","Fragment","React","ScrollView","snap","width","scrollview","Summary","Notification","styles","notification","Text","footer","NOTIFICATION_SSL_ENCRYPTION","View","row","box","confirmation","Button","ACTION_BOOK_NOW","Modal","title","LABEL_BOOKING_SUMMARY","visible","onClose","exports","displayName","propTypes","PropTypes","shape","bool","string"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Button, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, disabled = false, variant, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [modal, setModal] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, modal, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handleModal = () => {\n hasTracking && track(`${TRACKING}:ACTION:MORE_INFO`, { locale, variant });\n setModal(true);\n };\n\n const handlePress = () => setBusy(true);\n\n const handleSubmit = async (value) => {\n hasTracking && track(`${TRACKING}:CTA`, { locale, variant });\n\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 if (variant === 'B')\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n hasTracking &&\n track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale, variant });\n });\n\n if (!isDesktop && response) setModal(false);\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale, variant });\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 disabled={disabled}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n className={variant !== 'B' && style.cta}\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, symbol: true, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n {React.createElement(\n isMobile ? ScrollView : React.Fragment,\n { ...(isMobile ? { snap: false, width: '100%', className: style.scrollview } : undefined) },\n <Summary dataSource={dataSource} />,\n )}\n\n {responseError && (\n <Notification error small wide className={styles(style.notification, style.error)}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </>\n );\n\n return (\n <View {...others} row={isMobile} className={styles(style.box, style.confirmation)}>\n {isDesktop ? (\n content()\n ) : variant === 'B' ? (\n CTA()\n ) : (\n <Button busy={busy} disabled={disabled} large wide onPress={handleModal}>\n {translate(L10N.ACTION_BOOK_NOW)}\n </Button>\n )}\n\n {!isDesktop && (\n <Modal\n title={translate(L10N.LABEL_BOOKING_SUMMARY)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <View className={style.payment}>{content()}</View>\n </Modal>\n )}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n disabled: PropTypes.bool,\n variant: PropTypes.string,\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","_Checkout","_Core","_shared__","_helpers","_Checkout2","_Checkout3","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","hasTracking","Confirmation","_ref","dataSource","error","variant","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","busy","setBusy","useState","modal","setModal","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","price","prepayment","currency","method","handleError","handleModal","concat","TRACKING","handlePress","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","className","cta","getButtonPaymentKey","info","amount","currencyFormat","symbol","content","Fragment","React","ScrollView","snap","width","scrollview","Summary","Notification","styles","notification","Text","footer","NOTIFICATION_SSL_ENCRYPTION","View","row","box","confirmation","Button","ACTION_BOOK_NOW","Modal","title","LABEL_BOOKING_SUMMARY","visible","onClose","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Button, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, variant, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [modal, setModal] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, modal, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handleModal = () => {\n hasTracking && track(`${TRACKING}:ACTION:MORE_INFO`, { locale, variant });\n setModal(true);\n };\n\n const handlePress = () => setBusy(true);\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale, variant });\n\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 if (variant === 'B')\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n hasTracking &&\n track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale, variant });\n });\n\n if (!isDesktop && response) setModal(false);\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale, variant });\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={error ? onError : handlePress}\n className={variant !== 'B' && style.cta}\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, symbol: true, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n {React.createElement(\n isMobile ? ScrollView : React.Fragment,\n { ...(isMobile ? { snap: false, width: '100%', className: style.scrollview } : undefined) },\n <Summary dataSource={dataSource} />,\n )}\n\n {responseError && (\n <Notification error small wide className={styles(style.notification, style.error)}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </>\n );\n\n return (\n <View {...others} row={isMobile} className={styles(style.box, style.confirmation)}>\n {isDesktop ? (\n content()\n ) : variant === 'B' ? (\n CTA()\n ) : (\n <Button busy={busy} large wide onPress={error ? onError : handleModal}>\n {translate(L10N.ACTION_BOOK_NOW)}\n </Button>\n )}\n\n {!isDesktop && (\n <Modal\n title={translate(L10N.LABEL_BOOKING_SUMMARY)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <View className={style.payment}>{content()}</View>\n </Modal>\n )}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ const Form = _ref => {
|
|
|
38
38
|
tracking = {},
|
|
39
39
|
...dataSource
|
|
40
40
|
} = {},
|
|
41
|
+
showErrors = false,
|
|
41
42
|
variant,
|
|
42
43
|
onError = () => {},
|
|
43
44
|
...others
|
|
@@ -72,6 +73,7 @@ const Form = _ref => {
|
|
|
72
73
|
return [key, value];
|
|
73
74
|
})));
|
|
74
75
|
const [formTracked, setFormTracked] = (0, _react.useState)();
|
|
76
|
+
const [modal, setModal] = (0, _react.useState)(false);
|
|
75
77
|
(0, _react.useEffect)(() => {
|
|
76
78
|
hasTracking = _services.ServiceFeatures.get(_Checkout.FEATURE_CHECKOUT_TRACKING, id);
|
|
77
79
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -94,10 +96,10 @@ const Form = _ref => {
|
|
|
94
96
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
95
97
|
}, [form]);
|
|
96
98
|
(0, _react.useEffect)(() => {
|
|
97
|
-
onError(
|
|
99
|
+
onError({
|
|
98
100
|
...errorForm,
|
|
99
101
|
...errorPayment
|
|
100
|
-
})
|
|
102
|
+
});
|
|
101
103
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
102
104
|
}, [errorForm, errorPayment]);
|
|
103
105
|
const handleChange = async next => {
|
|
@@ -134,6 +136,7 @@ const Form = _ref => {
|
|
|
134
136
|
} = dataSource || {};
|
|
135
137
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Form, _extends({}, others, {
|
|
136
138
|
autoComplete: "off",
|
|
139
|
+
showErrors: showErrors,
|
|
137
140
|
validateOnMount: true,
|
|
138
141
|
onChange: handleChange,
|
|
139
142
|
onEnter: handleEnter,
|
|
@@ -161,7 +164,7 @@ const Form = _ref => {
|
|
|
161
164
|
error: errorForm[key],
|
|
162
165
|
session,
|
|
163
166
|
translate
|
|
164
|
-
}, club));
|
|
167
|
+
}, club, () => setModal(true)));
|
|
165
168
|
})), payment && /*#__PURE__*/_react.default.createElement(_shared__.Payment, _extends({}, payment, {
|
|
166
169
|
config: {
|
|
167
170
|
...payment.config,
|
|
@@ -171,9 +174,24 @@ const Form = _ref => {
|
|
|
171
174
|
...payment.info,
|
|
172
175
|
date: (0, _locale.parseDate)((_payment$info = payment.info) === null || _payment$info === void 0 ? void 0 : _payment$info.date)
|
|
173
176
|
},
|
|
177
|
+
showErrors,
|
|
174
178
|
currency: currency,
|
|
175
179
|
onError: setErrorPayment
|
|
176
|
-
}))
|
|
180
|
+
})), /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|
|
181
|
+
fit: true,
|
|
182
|
+
visible: modal,
|
|
183
|
+
onClose: () => setModal(false),
|
|
184
|
+
className: style.modal
|
|
185
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
186
|
+
snap: false,
|
|
187
|
+
vertical: true,
|
|
188
|
+
className: style.scrollview
|
|
189
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.BookingTerms, {
|
|
190
|
+
dataSource: dataSource,
|
|
191
|
+
small: true,
|
|
192
|
+
tracking: _Checkout.TRACKING,
|
|
193
|
+
className: style.others
|
|
194
|
+
}))));
|
|
177
195
|
};
|
|
178
196
|
exports.Form = Form;
|
|
179
197
|
Form.displayName = 'Mirai:Core:Checkout:Form';
|
|
@@ -181,6 +199,7 @@ Form.propTypes = {
|
|
|
181
199
|
dataSource: _propTypes.default.shape({
|
|
182
200
|
form: _propTypes.default.shape({})
|
|
183
201
|
}),
|
|
202
|
+
showErrors: _propTypes.default.bool,
|
|
184
203
|
variant: _propTypes.default.string,
|
|
185
204
|
onError: _propTypes.default.func
|
|
186
205
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","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","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","Form","_ref","_payment$config","_payment$config$publi","_payment$info","currency","repositories","countries","form","schema","tracking","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","exports","displayName","propTypes","PropTypes","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource) => `${FORM_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.keys({ ...errorForm, ...errorPayment }).length > 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const { payment } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club),\n ),\n )}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: parseDate(payment.info?.date) },\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","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","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","Form","_ref","_payment$config","_payment$config$publi","_payment$info","currency","repositories","countries","form","schema","tracking","showErrors","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","modal","setModal","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource) => `${FORM_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const { payment } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n showErrors={showErrors}\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club, () =>\n setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: parseDate(payment.info?.date) },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal fit visible={modal} onClose={() => setModal(false)} className={style.modal}>\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|