@mirai/core 0.4.168 → 0.4.170
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.
|
@@ -72,6 +72,7 @@ const Checkout = _ref => {
|
|
|
72
72
|
hotel,
|
|
73
73
|
language,
|
|
74
74
|
locale,
|
|
75
|
+
showExtras: variant === 'B',
|
|
75
76
|
session,
|
|
76
77
|
...urlParams,
|
|
77
78
|
...(0, _helpers.getParamsFromExtras)({
|
|
@@ -166,7 +167,7 @@ const Checkout = _ref => {
|
|
|
166
167
|
showErrors: hasRequiredFields,
|
|
167
168
|
onError: setError
|
|
168
169
|
}, variant === 'B' && /*#__PURE__*/_react.default.createElement(_partials.Extras, {
|
|
169
|
-
|
|
170
|
+
dataSource: dataSource,
|
|
170
171
|
onChange: setSelectedExtras
|
|
171
172
|
})), isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
|
|
172
173
|
dataSource: dataSource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_helpers","_partials","_Core","_shared__","_Booking","_Header","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","skeleton","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","concat","METRIC","response","ServiceBooking","checkout","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","agency","payment","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { METRIC } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n hotel,\n language,\n locale,\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: `${METRIC}:RENDER`, tpvError: !!tpvError, variant }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n Event.publish(EVENT.METRICS, { id: `${METRIC}:ERROR`, error });\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) {\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n Event.publish(EVENT.METRICS, { id: `${METRIC}:READY`, agency: !!response.agency, payment: !!response.payment });\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:AGENCY:INFO` });\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError}>\n {variant === 'B' && <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} />}\n </Form>\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n selectedExtras={selectedExtras}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_helpers","_partials","_Core","_shared__","_Booking","_Header","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","skeleton","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","concat","METRIC","response","ServiceBooking","checkout","showExtras","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","agency","payment","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { METRIC } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n hotel,\n language,\n locale,\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: `${METRIC}:RENDER`, tpvError: !!tpvError, variant }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n showExtras: variant === 'B',\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n Event.publish(EVENT.METRICS, { id: `${METRIC}:ERROR`, error });\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) {\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n Event.publish(EVENT.METRICS, { id: `${METRIC}:READY`, agency: !!response.agency, payment: !!response.payment });\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:AGENCY:INFO` });\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError}>\n {variant === 'B' && <Extras dataSource={dataSource} onChange={setSelectedExtras} />}\n </Form>\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n selectedExtras={selectedExtras}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Extras = void 0;
|
|
7
|
-
var _dataSources = require("@mirai/data-sources");
|
|
8
7
|
var _locale = require("@mirai/locale");
|
|
9
|
-
var _services = require("@mirai/services");
|
|
10
8
|
var _ui = require("@mirai/ui");
|
|
11
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
var _Extras = require("../../Rates/components/ModalExtras/Extras");
|
|
14
12
|
var _Checkout = require("../Checkout.l10n");
|
|
15
13
|
var style = _interopRequireWildcard(require("../Checkout.module.css"));
|
|
@@ -18,61 +16,27 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
17
|
const Extras = _ref => {
|
|
20
18
|
let {
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
dataSource: {
|
|
20
|
+
repositories: {
|
|
21
|
+
extras = []
|
|
22
|
+
} = {}
|
|
23
23
|
} = {},
|
|
24
|
-
onChange
|
|
25
|
-
onDatasource = () => {}
|
|
24
|
+
onChange
|
|
26
25
|
} = _ref;
|
|
27
26
|
const {
|
|
28
|
-
isDesktop
|
|
29
|
-
mobile
|
|
27
|
+
isDesktop
|
|
30
28
|
} = (0, _ui.useDevice)();
|
|
31
29
|
const {
|
|
32
30
|
translate
|
|
33
31
|
} = (0, _locale.useLocale)();
|
|
34
|
-
|
|
35
|
-
value: {
|
|
36
|
-
locale,
|
|
37
|
-
session,
|
|
38
|
-
urlParams = {}
|
|
39
|
-
}
|
|
40
|
-
} = (0, _dataSources.useStore)();
|
|
41
|
-
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
42
|
-
(0, _react.useEffect)(() => {
|
|
43
|
-
(async () => {
|
|
44
|
-
onDatasource(false);
|
|
45
|
-
const {
|
|
46
|
-
extras = []
|
|
47
|
-
} = (await _services.ServiceRates.extras({
|
|
48
|
-
...JSON.parse(urlParams.checkoutParams),
|
|
49
|
-
...JSON.parse(urlParams.occupationTotals),
|
|
50
|
-
clubDiscount: !!session || urlParams.applyClubDiscount === 'true',
|
|
51
|
-
device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
|
|
52
|
-
hotelCurrency: currency,
|
|
53
|
-
locale
|
|
54
|
-
}).catch(() => {})) || {};
|
|
55
|
-
const selectableExtras = extras.some(function () {
|
|
56
|
-
let {
|
|
57
|
-
included
|
|
58
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
59
|
-
return !included;
|
|
60
|
-
});
|
|
61
|
-
if (selectableExtras) {
|
|
62
|
-
setDataSource(extras);
|
|
63
|
-
onDatasource(true);
|
|
64
|
-
}
|
|
65
|
-
})();
|
|
66
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
|
-
}, [locale]);
|
|
68
|
-
return (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
32
|
+
return (extras === null || extras === void 0 ? void 0 : extras.length) > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
69
33
|
id: "extras",
|
|
70
34
|
className: style.box
|
|
71
35
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
72
36
|
bold: true,
|
|
73
37
|
headline: isDesktop
|
|
74
38
|
}, translate(_Checkout.L10N.LABEL_ENHANCED_YOUR_STAY)), /*#__PURE__*/_react.default.createElement(_Extras.Extras, {
|
|
75
|
-
extras:
|
|
39
|
+
extras: extras,
|
|
76
40
|
horizontal: true,
|
|
77
41
|
onChange: onChange
|
|
78
42
|
})) : null;
|
|
@@ -80,11 +44,7 @@ const Extras = _ref => {
|
|
|
80
44
|
exports.Extras = Extras;
|
|
81
45
|
Extras.displayName = 'Mirai:Core:Checkout:Extras';
|
|
82
46
|
Extras.propTypes = {
|
|
83
|
-
dataSource: _propTypes.default.
|
|
84
|
-
|
|
85
|
-
currency: _propTypes.default.string
|
|
86
|
-
}),
|
|
87
|
-
onChange: _propTypes.default.func,
|
|
88
|
-
onDatasource: _propTypes.default.func
|
|
47
|
+
dataSource: _propTypes.default.shape({}),
|
|
48
|
+
onChange: _propTypes.default.func
|
|
89
49
|
};
|
|
90
50
|
//# sourceMappingURL=Checkout.Extras.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Extras.js","names":["
|
|
1
|
+
{"version":3,"file":"Checkout.Extras.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_Extras","_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","Extras","_ref","dataSource","repositories","extras","onChange","isDesktop","useDevice","translate","useLocale","length","createElement","View","id","className","box","Text","bold","headline","L10N","LABEL_ENHANCED_YOUR_STAY","horizontal","exports","displayName","propTypes","PropTypes","shape","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Extras.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React 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 = ({ dataSource: { repositories: { extras = [] } = {} } = {}, onChange }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n\n return extras?.length > 0 ? (\n <View id=\"extras\" className={style.box}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n </Text>\n <ExtrasBase extras={extras} horizontal onChange={onChange} />\n </View>\n ) : null;\n};\n\nExtras.displayName = 'Mirai:Core:Checkout:Extras';\n\nExtras.propTypes = {\n dataSource: PropTypes.shape({}),\n onChange: PropTypes.func,\n};\n\nexport { Extras };\n"],"mappings":"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"}
|