@mirai/core 0.4.59 → 0.4.60
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/Checkout.js +47 -10
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.l10n.js +10 -0
- package/build/components/Checkout/Checkout.l10n.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +7 -0
- package/build/components/Checkout/helpers/getParamsFromExtras.js +53 -0
- package/build/components/Checkout/helpers/getParamsFromExtras.js.map +1 -0
- package/build/components/Checkout/helpers/index.js +11 -0
- package/build/components/Checkout/helpers/index.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +43 -4
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Extras.js +83 -0
- package/build/components/Checkout/partials/Checkout.Extras.js.map +1 -0
- package/build/components/Checkout/partials/Checkout.Form.js +8 -3
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Checkout/partials/index.js +12 -1
- package/build/components/Checkout/partials/index.js.map +1 -1
- package/build/components/Header/components/BookingProcess/BookingProcess.js +16 -13
- package/build/components/Header/components/BookingProcess/BookingProcess.js.map +1 -1
- package/build/components/Header/components/BookingProcess/BookingProcess.l10n.js +3 -0
- package/build/components/Header/components/BookingProcess/BookingProcess.l10n.js.map +1 -1
- package/build/components/Rates/Rates.js +19 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/Extras.js +231 -0
- package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -0
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +20 -10
- package/build/components/Rates/helpers/getCheckoutParams.js +5 -2
- package/build/components/Rates/helpers/getCheckoutParams.js.map +1 -1
- package/build/components/Rates/helpers/getForwarderUrl.js +4 -2
- package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +4 -2
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/helpers/getUrlBooking.js +3 -1
- package/build/components/__shared__/ButtonPayment/helpers/getUrlBooking.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/helpers/getUrlCriptan.js +5 -1
- package/build/components/__shared__/ButtonPayment/helpers/getUrlCriptan.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/helpers/getUrlTpv.js +4 -0
- package/build/components/__shared__/ButtonPayment/helpers/getUrlTpv.js.map +1 -1
- package/build/helpers/consolidateStore.js +3 -0
- package/build/helpers/consolidateStore.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Extras = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
8
|
+
var _locale = require("@mirai/locale");
|
|
9
|
+
var _services = require("@mirai/services");
|
|
10
|
+
var _ui = require("@mirai/ui");
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _Extras = require("../../Rates/components/ModalExtras/Extras");
|
|
14
|
+
var _Checkout = require("../Checkout.l10n");
|
|
15
|
+
var style = _interopRequireWildcard(require("../Checkout.module.css"));
|
|
16
|
+
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
|
+
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
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
const Extras = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
hotel: {
|
|
22
|
+
currency
|
|
23
|
+
} = {},
|
|
24
|
+
onChange
|
|
25
|
+
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
isDesktop,
|
|
28
|
+
mobile
|
|
29
|
+
} = (0, _ui.useDevice)();
|
|
30
|
+
const {
|
|
31
|
+
translate
|
|
32
|
+
} = (0, _locale.useLocale)();
|
|
33
|
+
const {
|
|
34
|
+
value: {
|
|
35
|
+
locale,
|
|
36
|
+
session,
|
|
37
|
+
urlParams = {}
|
|
38
|
+
}
|
|
39
|
+
} = (0, _dataSources.useStore)();
|
|
40
|
+
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
41
|
+
(0, _react.useEffect)(() => {
|
|
42
|
+
(async () => {
|
|
43
|
+
const {
|
|
44
|
+
extras = []
|
|
45
|
+
} = (await _services.ServiceRates.extras({
|
|
46
|
+
...JSON.parse(urlParams.checkoutParams),
|
|
47
|
+
...JSON.parse(urlParams.occupationTotals),
|
|
48
|
+
clubDiscount: !!session || urlParams.applyClubDiscount === 'true',
|
|
49
|
+
device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
|
|
50
|
+
hotelCurrency: currency,
|
|
51
|
+
locale
|
|
52
|
+
}).catch(() => {})) || {};
|
|
53
|
+
const selectableExtras = extras.some(function () {
|
|
54
|
+
let {
|
|
55
|
+
included
|
|
56
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
57
|
+
return !included;
|
|
58
|
+
});
|
|
59
|
+
if (selectableExtras) setDataSource(extras);
|
|
60
|
+
})();
|
|
61
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
+
}, [locale]);
|
|
63
|
+
return (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
64
|
+
className: style.box
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
66
|
+
bold: true,
|
|
67
|
+
headline: isDesktop
|
|
68
|
+
}, translate(_Checkout.L10N.LABEL_ENHANCED_YOUR_STAY)), /*#__PURE__*/_react.default.createElement(_Extras.Extras, {
|
|
69
|
+
extras: dataSource,
|
|
70
|
+
horizontal: true,
|
|
71
|
+
onChange: onChange
|
|
72
|
+
})) : null;
|
|
73
|
+
};
|
|
74
|
+
exports.Extras = Extras;
|
|
75
|
+
Extras.displayName = 'Mirai:Core:Checkout:Extras';
|
|
76
|
+
Extras.propTypes = {
|
|
77
|
+
dataSource: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
78
|
+
hotel: _propTypes.default.shape({
|
|
79
|
+
currency: _propTypes.default.string
|
|
80
|
+
}),
|
|
81
|
+
onChange: _propTypes.default.func
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=Checkout.Extras.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkout.Extras.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Extras","_Checkout","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Extras","_ref","hotel","currency","onChange","isDesktop","mobile","useDevice","translate","useLocale","value","locale","session","urlParams","useStore","dataSource","setDataSource","useState","useEffect","extras","ServiceRates","JSON","parse","checkoutParams","occupationTotals","clubDiscount","applyClubDiscount","device","hotelCurrency","catch","selectableExtras","some","included","arguments","length","undefined","createElement","View","className","box","Text","bold","headline","L10N","LABEL_ENHANCED_YOUR_STAY","horizontal","exports","displayName","propTypes","PropTypes","arrayOf","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Extras.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Extras as ExtrasBase } from '../../Rates/components/ModalExtras/Extras';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nconst Extras = ({ hotel: { currency } = {}, onChange }) => {\n const { isDesktop, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n\n useEffect(() => {\n (async () => {\n const { extras = [] } =\n (await ServiceRates.extras({\n ...JSON.parse(urlParams.checkoutParams),\n ...JSON.parse(urlParams.occupationTotals),\n clubDiscount: !!session || urlParams.applyClubDiscount === 'true',\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n hotelCurrency: currency,\n locale,\n }).catch(() => {})) || {};\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setDataSource(extras);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n return dataSource?.length > 0 ? (\n <View className={style.box}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n </Text>\n <ExtrasBase extras={dataSource} horizontal onChange={onChange} />\n </View>\n ) : null;\n};\n\nExtras.displayName = 'Mirai:Core:Checkout:Extras';\n\nExtras.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n hotel: PropTypes.shape({\n currency: PropTypes.string,\n }),\n onChange: PropTypes.func,\n};\n\nexport { Extras };\n"],"mappings":"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"}
|
|
@@ -63,7 +63,11 @@ const Form = _ref3 => {
|
|
|
63
63
|
payment: {
|
|
64
64
|
method
|
|
65
65
|
} = {},
|
|
66
|
-
session
|
|
66
|
+
session,
|
|
67
|
+
urlParams: {
|
|
68
|
+
checkoutStep = '1'
|
|
69
|
+
} = {},
|
|
70
|
+
variant
|
|
67
71
|
}
|
|
68
72
|
} = (0, _dataSources.useStore)();
|
|
69
73
|
const [errorForm, setErrorForm] = (0, _react.useState)({});
|
|
@@ -87,6 +91,7 @@ const Form = _ref3 => {
|
|
|
87
91
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
92
|
}, [session]);
|
|
89
93
|
(0, _react.useLayoutEffect)(() => {
|
|
94
|
+
if (checkoutStep === '2') return;
|
|
90
95
|
if (Object.keys(form).length) storage.set(key(dataSource, schema), form);
|
|
91
96
|
set({
|
|
92
97
|
checkout: form
|
|
@@ -143,7 +148,7 @@ const Form = _ref3 => {
|
|
|
143
148
|
const {
|
|
144
149
|
payment
|
|
145
150
|
} = dataSource || {};
|
|
146
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Form, _extends({}, others, {
|
|
151
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (variant === 'A' || checkoutStep === '1') && /*#__PURE__*/_react.default.createElement(_ui.Form, _extends({}, others, {
|
|
147
152
|
autoComplete: "off",
|
|
148
153
|
showErrors: showErrors,
|
|
149
154
|
validateOnMount: true,
|
|
@@ -166,7 +171,7 @@ const Form = _ref3 => {
|
|
|
166
171
|
translate,
|
|
167
172
|
...dataSource
|
|
168
173
|
}, club, () => setModal(true)));
|
|
169
|
-
})), payment && /*#__PURE__*/_react.default.createElement(_shared__.Payment, _extends({}, payment, {
|
|
174
|
+
})), (variant === 'A' || checkoutStep === '2') && payment && /*#__PURE__*/_react.default.createElement(_shared__.Payment, _extends({}, payment, {
|
|
170
175
|
config: {
|
|
171
176
|
...payment.config,
|
|
172
177
|
publicKey: (_payment$config = payment.config) === null || _payment$config === void 0 ? void 0 : (_payment$config$publi = _payment$config.publicKey) === null || _payment$config$publi === void 0 ? void 0 : _payment$config$publi[method]
|
|
@@ -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","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","filter","_ref","value","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","tracking","showErrors","onError","others","isDesktop","useDevice","translate","useLocale","club","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleLeave","email","firstName","lastName","Event","publish","EVENT","CHECKOUT_FORM","event","response","_ref6","_ref7","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref8","field","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","title","LABEL_CONDITIONS","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","variant","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry } 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 { EVENT, generateId, getCountryCode } from '../../helpers';\nimport { FIELD, FORM_STORAGE_CACHE, FORM_STORAGE_KEY, INPUT } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { club, 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, schema)) ||\n 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 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, schema), 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 const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n Event.publish(EVENT.CHECKOUT_FORM, { event: EVENT.CHECKOUT_FORM, response: { tracking } });\n setFormTracked(true);\n }\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\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 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 {getFields(form).map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n 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: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small 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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"}
|
|
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","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","filter","_ref","value","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","tracking","showErrors","onError","others","isDesktop","useDevice","translate","useLocale","club","payment","method","session","urlParams","checkoutStep","variant","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleLeave","email","firstName","lastName","Event","publish","EVENT","CHECKOUT_FORM","event","response","_ref6","_ref7","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref8","field","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","title","LABEL_CONDITIONS","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 { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry } 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 { EVENT, generateId, getCountryCode } from '../../helpers';\nimport { FIELD, FORM_STORAGE_CACHE, FORM_STORAGE_KEY, INPUT } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { club, payment: { method } = {}, session, urlParams: { checkoutStep = '1' } = {}, variant },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, schema)) ||\n 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 setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (checkoutStep === '2') return;\n\n if (Object.keys(form).length) storage.set(key(dataSource, schema), 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 const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n Event.publish(EVENT.CHECKOUT_FORM, { event: EVENT.CHECKOUT_FORM, response: { tracking } });\n setFormTracked(true);\n }\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\n\n const { payment } = dataSource || {};\n\n return (\n <>\n {(variant === 'A' || checkoutStep === '1') && (\n <FormBase\n {...others}\n autoComplete=\"off\"\n showErrors={showErrors}\n validateOnMount\n onChange={handleChange}\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 {getFields(form).map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n )}\n\n {(variant === 'A' || checkoutStep === '2') && payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small 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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"}
|
|
@@ -14,7 +14,7 @@ Object.keys(_Checkout).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var _Checkout2 = require("./Checkout.
|
|
17
|
+
var _Checkout2 = require("./Checkout.Extras");
|
|
18
18
|
Object.keys(_Checkout2).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
20
|
if (key in exports && exports[key] === _Checkout2[key]) return;
|
|
@@ -25,4 +25,15 @@ Object.keys(_Checkout2).forEach(function (key) {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
+
var _Checkout3 = require("./Checkout.Form");
|
|
29
|
+
Object.keys(_Checkout3).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _Checkout3[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _Checkout3[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
28
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Checkout","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Checkout2"],"sources":["../../../../src/components/Checkout/partials/index.js"],"sourcesContent":["export * from './Checkout.Confirmation';\nexport * from './Checkout.Form';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Checkout","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Checkout2","_Checkout3"],"sources":["../../../../src/components/Checkout/partials/index.js"],"sourcesContent":["export * from './Checkout.Confirmation';\nexport * from './Checkout.Extras';\nexport * from './Checkout.Form';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -34,12 +34,13 @@ const BookingProcess = _ref => {
|
|
|
34
34
|
} = (0, _dataSources.useStore)();
|
|
35
35
|
const [step, setStep] = (0, _react.useState)(propStep);
|
|
36
36
|
(0, _react.useEffect)(() => {
|
|
37
|
-
const callback = () => setStep(
|
|
37
|
+
const callback = () => setStep(3);
|
|
38
38
|
_dataSources.Event.subscribe(_helpers.EVENT.PAY_LATER, callback);
|
|
39
39
|
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.PAY_LATER, callback);
|
|
40
40
|
}, []);
|
|
41
41
|
(0, _react.useEffect)(() => {
|
|
42
|
-
setStep(propStep || components.rates ? 1 : components.checkout ? 2 : components.booking ?
|
|
42
|
+
setStep(propStep || components.rates ? 1 : components.checkout ? 2 : components.booking ? 4 : undefined);
|
|
43
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
44
|
}, [components, propStep]);
|
|
44
45
|
const iconProps = {
|
|
45
46
|
small: isMobile
|
|
@@ -48,7 +49,9 @@ const BookingProcess = _ref => {
|
|
|
48
49
|
action: !isMobile,
|
|
49
50
|
small: isMobile
|
|
50
51
|
};
|
|
51
|
-
const
|
|
52
|
+
const is = {
|
|
53
|
+
paylater: step === 3
|
|
54
|
+
};
|
|
52
55
|
return step ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
53
56
|
row: true,
|
|
54
57
|
className: [style.bookingProcess, others.className]
|
|
@@ -78,17 +81,17 @@ const BookingProcess = _ref => {
|
|
|
78
81
|
className: (0, _ui.styles)(style.label, step < 2 && style.disabled)
|
|
79
82
|
}), translate(_BookingProcess.L10N.LABEL_PERSONAL_DETAILS))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
80
83
|
className: style.divider
|
|
81
|
-
}),
|
|
84
|
+
}), is.paylater && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
82
85
|
row: true,
|
|
83
86
|
className: style.item
|
|
84
87
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
85
88
|
bold: true,
|
|
86
|
-
className: (0, _ui.styles)(style.bullet, step >=
|
|
87
|
-
}), step >
|
|
89
|
+
className: (0, _ui.styles)(style.bullet, step >= 3 && style.success)
|
|
90
|
+
}), step > 3 ? /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, iconProps, {
|
|
88
91
|
value: _ui.ICON.CHECK
|
|
89
|
-
})) :
|
|
90
|
-
bold: step ===
|
|
91
|
-
className: (0, _ui.styles)(style.label, step <
|
|
92
|
+
})) : 4), (!isMobile || step === 3) && /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
93
|
+
bold: step === 3,
|
|
94
|
+
className: (0, _ui.styles)(style.label, step < 3 && style.disabled)
|
|
92
95
|
}), translate(_BookingProcess.L10N.LABEL_BOOKING))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
93
96
|
className: style.divider
|
|
94
97
|
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -97,11 +100,11 @@ const BookingProcess = _ref => {
|
|
|
97
100
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
98
101
|
bold: true,
|
|
99
102
|
className: (0, _ui.styles)(style.bullet, step >= 3 && style.success)
|
|
100
|
-
}), step >=
|
|
103
|
+
}), step >= 4 ? /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, iconProps, {
|
|
101
104
|
value: _ui.ICON.CHECK
|
|
102
|
-
})) :
|
|
103
|
-
bold: step ===
|
|
104
|
-
className: (0, _ui.styles)(style.label, step <
|
|
105
|
+
})) : is.paylater ? 4 : 3), (!isMobile || step === 3) && /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
106
|
+
bold: step === 4,
|
|
107
|
+
className: (0, _ui.styles)(style.label, step < 4 && style.disabled)
|
|
105
108
|
}), translate(_BookingProcess.L10N.LABEL_CONFIRMATION)))) : null;
|
|
106
109
|
};
|
|
107
110
|
exports.BookingProcess = BookingProcess;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingProcess.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingProcess","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","BookingProcess","_ref","step","propStep","others","isMobile","useDevice","translate","useLocale","value","components","useStore","setStep","useState","useEffect","callback","Event","subscribe","EVENT","PAY_LATER","unsubscribe","rates","checkout","booking","undefined","iconProps","small","textProps","action","isPayLater","createElement","View","row","className","bookingProcess","item","Text","bold","bullet","success","Icon","ICON","CHECK","label","L10N","LABEL_CHOOSE_STAY","divider","styles","disabled","LABEL_PERSONAL_DETAILS","Fragment","LABEL_BOOKING","LABEL_CONFIRMATION","exports","displayName","propTypes","PropTypes","number"],"sources":["../../../../../src/components/Header/components/BookingProcess/BookingProcess.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, ICON, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './BookingProcess.l10n';\nimport * as style from './BookingProcess.module.css';\nimport { EVENT } from '../../../helpers';\n\nconst BookingProcess = ({ step: propStep, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { components = {} } = {} } = useStore();\n\n const [step, setStep] = useState(propStep);\n\n useEffect(() => {\n const callback = () => setStep(2.5);\n\n Event.subscribe(EVENT.PAY_LATER, callback);\n return () => Event.unsubscribe(EVENT.PAY_LATER, callback);\n }, []);\n\n useEffect(() => {\n setStep(propStep || components.rates ? 1 : components.checkout ? 2 : components.booking ? 3 : undefined);\n }, [components, propStep]);\n\n const iconProps = { small: isMobile };\n const textProps = { action: !isMobile, small: isMobile };\n const isPayLater = step === 2.5;\n\n return step ? (\n <View {...others} row className={[style.bookingProcess, others.className]}>\n <View row className={style.item}>\n <Text {...textProps} bold className={[style.bullet, style.success]}>\n {step > 1 ? <Icon {...iconProps} value={ICON.CHECK} /> : 1}\n </Text>\n {(!isMobile || step === 1) && (\n <Text {...textProps} bold={step === 1} className={style.label}>\n {translate(L10N.LABEL_CHOOSE_STAY)}\n </Text>\n )}\n </View>\n\n <View className={style.divider} />\n\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 2 && style.success)}>\n {step > 2 ? <Icon {...iconProps} value={ICON.CHECK} /> : 2}\n </Text>\n\n {(!isMobile || step === 2) && (\n <Text {...textProps} bold={step === 2} className={styles(style.label, step < 2 && style.disabled)}>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n )}\n </View>\n\n <View className={style.divider} />\n\n {isPayLater && (\n <>\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 2.5 && style.success)}>\n {step > 2.5 ? <Icon {...iconProps} value={ICON.CHECK} /> : 3}\n </Text>\n\n {(!isMobile || step === 2.5) && (\n <Text {...textProps} bold={step === 2.5} className={styles(style.label, step < 2.5 && style.disabled)}>\n {translate(L10N.LABEL_BOOKING)}\n </Text>\n )}\n </View>\n <View className={style.divider} />\n </>\n )}\n\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 3 && style.success)}>\n {step >= 3 ? <Icon {...iconProps} value={ICON.CHECK} /> : isPayLater ? 4 : 3}\n </Text>\n {(!isMobile || step === 3) && (\n <Text {...textProps} bold={step === 3} className={styles(style.label, step < 3 && style.disabled)}>\n {translate(L10N.LABEL_CONFIRMATION)}\n </Text>\n )}\n </View>\n </View>\n ) : null;\n};\n\nBookingProcess.displayName = 'Mirai:Core:Header:BookingProcess';\n\nBookingProcess.propTypes = {\n step: PropTypes.number,\n};\n\nexport { BookingProcess };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BookingProcess.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingProcess","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","BookingProcess","_ref","step","propStep","others","isMobile","useDevice","translate","useLocale","value","components","useStore","setStep","useState","useEffect","callback","Event","subscribe","EVENT","PAY_LATER","unsubscribe","rates","checkout","booking","undefined","iconProps","small","textProps","action","is","paylater","createElement","View","row","className","bookingProcess","item","Text","bold","bullet","success","Icon","ICON","CHECK","label","L10N","LABEL_CHOOSE_STAY","divider","styles","disabled","LABEL_PERSONAL_DETAILS","Fragment","LABEL_BOOKING","LABEL_CONFIRMATION","exports","displayName","propTypes","PropTypes","number"],"sources":["../../../../../src/components/Header/components/BookingProcess/BookingProcess.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, ICON, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './BookingProcess.l10n';\nimport * as style from './BookingProcess.module.css';\nimport { EVENT } from '../../../helpers';\n\nconst BookingProcess = ({ step: propStep, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { components = {} } = {} } = useStore();\n\n const [step, setStep] = useState(propStep);\n\n useEffect(() => {\n const callback = () => setStep(3);\n\n Event.subscribe(EVENT.PAY_LATER, callback);\n return () => Event.unsubscribe(EVENT.PAY_LATER, callback);\n }, []);\n\n useEffect(() => {\n setStep(propStep || components.rates ? 1 : components.checkout ? 2 : components.booking ? 4 : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [components, propStep]);\n\n const iconProps = { small: isMobile };\n const textProps = { action: !isMobile, small: isMobile };\n const is = { paylater: step === 3 };\n\n return step ? (\n <View {...others} row className={[style.bookingProcess, others.className]}>\n <View row className={style.item}>\n <Text {...textProps} bold className={[style.bullet, style.success]}>\n {step > 1 ? <Icon {...iconProps} value={ICON.CHECK} /> : 1}\n </Text>\n {(!isMobile || step === 1) && (\n <Text {...textProps} bold={step === 1} className={style.label}>\n {translate(L10N.LABEL_CHOOSE_STAY)}\n </Text>\n )}\n </View>\n\n <View className={style.divider} />\n\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 2 && style.success)}>\n {step > 2 ? <Icon {...iconProps} value={ICON.CHECK} /> : 2}\n </Text>\n\n {(!isMobile || step === 2) && (\n <Text {...textProps} bold={step === 2} className={styles(style.label, step < 2 && style.disabled)}>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n )}\n </View>\n\n <View className={style.divider} />\n\n {is.paylater && (\n <>\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 3 && style.success)}>\n {step > 3 ? <Icon {...iconProps} value={ICON.CHECK} /> : 4}\n </Text>\n\n {(!isMobile || step === 3) && (\n <Text {...textProps} bold={step === 3} className={styles(style.label, step < 3 && style.disabled)}>\n {translate(L10N.LABEL_BOOKING)}\n </Text>\n )}\n </View>\n <View className={style.divider} />\n </>\n )}\n\n <View row className={style.item}>\n <Text {...textProps} bold className={styles(style.bullet, step >= 3 && style.success)}>\n {step >= 4 ? <Icon {...iconProps} value={ICON.CHECK} /> : is.paylater ? 4 : 3}\n </Text>\n {(!isMobile || step === 3) && (\n <Text {...textProps} bold={step === 4} className={styles(style.label, step < 4 && style.disabled)}>\n {translate(L10N.LABEL_CONFIRMATION)}\n </Text>\n )}\n </View>\n </View>\n ) : null;\n};\n\nBookingProcess.displayName = 'Mirai:Core:Header:BookingProcess';\n\nBookingProcess.propTypes = {\n step: PropTypes.number,\n};\n\nexport { BookingProcess };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingProcess.l10n.js","names":["L10N","exports","LABEL_BOOKING","id","LABEL_CHOOSE_STAY","LABEL_CONFIRMATION","LABEL_PERSONAL_DETAILS"],"sources":["../../../../../src/components/Header/components/BookingProcess/BookingProcess.l10n.js"],"sourcesContent":["export const L10N = {\n LABEL_BOOKING: { id: 'common.label.booking' },\n LABEL_CHOOSE_STAY: { id: 'user.label.choose_stay' },\n LABEL_CONFIRMATION: { id: 'common.label.confirmation' },\n LABEL_PERSONAL_DETAILS: { id: 'user.label.personal_details' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,aAAa,EAAE;IAAEC,EAAE,EAAE;EAAuB,CAAC;EAC7CC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAAyB,CAAC;EACnDE,kBAAkB,EAAE;IAAEF,EAAE,EAAE;EAA4B,CAAC;EACvDG,
|
|
1
|
+
{"version":3,"file":"BookingProcess.l10n.js","names":["L10N","exports","LABEL_BOOKING","id","LABEL_CHOOSE_STAY","LABEL_CONFIRMATION","LABEL_PAYMENT","LABEL_PERSONAL_DETAILS"],"sources":["../../../../../src/components/Header/components/BookingProcess/BookingProcess.l10n.js"],"sourcesContent":["export const L10N = {\n LABEL_BOOKING: { id: 'common.label.booking' },\n LABEL_CHOOSE_STAY: { id: 'user.label.choose_stay' },\n LABEL_CONFIRMATION: { id: 'common.label.confirmation' },\n LABEL_PAYMENT: { id: 'common.label.payment' },\n LABEL_PERSONAL_DETAILS: { id: 'user.label.personal_details' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,aAAa,EAAE;IAAEC,EAAE,EAAE;EAAuB,CAAC;EAC7CC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAAyB,CAAC;EACnDE,kBAAkB,EAAE;IAAEF,EAAE,EAAE;EAA4B,CAAC;EACvDG,aAAa,EAAE;IAAEH,EAAE,EAAE;EAAuB,CAAC;EAC7CI,sBAAsB,EAAE;IAAEJ,EAAE,EAAE;EAA8B;AAC9D,CAAC"}
|
|
@@ -68,7 +68,8 @@ const Rates = _ref => {
|
|
|
68
68
|
meta
|
|
69
69
|
} = {},
|
|
70
70
|
session,
|
|
71
|
-
urlParams
|
|
71
|
+
urlParams,
|
|
72
|
+
variant
|
|
72
73
|
}
|
|
73
74
|
} = (0, _dataSources.useStore)();
|
|
74
75
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
@@ -101,7 +102,8 @@ const Rates = _ref => {
|
|
|
101
102
|
...(0, _helpers.getFeatures)(hotel.features, urlParams, {
|
|
102
103
|
isDesktop
|
|
103
104
|
}, multiRoom),
|
|
104
|
-
multiRoom
|
|
105
|
+
multiRoom,
|
|
106
|
+
variant
|
|
105
107
|
}),
|
|
106
108
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
107
109
|
[]);
|
|
@@ -319,6 +321,7 @@ const Rates = _ref => {
|
|
|
319
321
|
isPestana,
|
|
320
322
|
session: sessionProp
|
|
321
323
|
})) return setClubRate(true);
|
|
324
|
+
if (variant === 'B') return handleCheckout(cart, undefined, variant);
|
|
322
325
|
const {
|
|
323
326
|
extras = []
|
|
324
327
|
} = (await _services.ServiceRates.extras({
|
|
@@ -349,6 +352,7 @@ const Rates = _ref => {
|
|
|
349
352
|
const handleCheckout = function () {
|
|
350
353
|
let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
351
354
|
let extras = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
355
|
+
let variant = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'A';
|
|
352
356
|
setBusy(true);
|
|
353
357
|
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
354
358
|
id: 'RATES:SUBMIT'
|
|
@@ -365,7 +369,19 @@ const Rates = _ref => {
|
|
|
365
369
|
urlParams: {
|
|
366
370
|
...(0, _helpers2.fetchUrlParams)(location.search),
|
|
367
371
|
device
|
|
368
|
-
}
|
|
372
|
+
},
|
|
373
|
+
variant,
|
|
374
|
+
checkoutParams: JSON.stringify((0, _helpers.getCheckoutParams)({
|
|
375
|
+
cart,
|
|
376
|
+
clubDiscount,
|
|
377
|
+
currency,
|
|
378
|
+
forwarder,
|
|
379
|
+
urlParams: (0, _helpers2.fetchUrlParams)(location.search)
|
|
380
|
+
})),
|
|
381
|
+
occupationTotals: JSON.stringify((0, _helpers3.getOccupationTotals)({
|
|
382
|
+
infantAge: dataSource.infantAge,
|
|
383
|
+
occupation
|
|
384
|
+
}))
|
|
369
385
|
});
|
|
370
386
|
}, _helpers3.SUBMIT_DELAY);
|
|
371
387
|
};
|