@mirai/core 0.4.160 → 0.4.161
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.constants.js +2 -2
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.js +28 -11
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/helpers/getFieldProps.js +10 -1
- package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
- package/build/components/Checkout/helpers/index.js +0 -11
- package/build/components/Checkout/helpers/index.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +14 -8
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +10 -1
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.constants.js +1 -2
- package/build/components/__shared__/BookingDetails/BookingDetails.constants.js.map +1 -1
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +7 -4
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
- package/package.json +1 -1
- package/build/components/Checkout/helpers/getVariant.js +0 -28
- package/build/components/Checkout/helpers/getVariant.js.map +0 -1
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VARIANTS = exports.REDIRECT_PATH = exports.INPUT_TYPE = exports.INPUT = exports.FORM_STORAGE_KEY = exports.FORM_STORAGE_CACHE = exports.FORMAT_DATE_SHORT = exports.FORMAT_DATE = exports.FORMAT_CURRENCY = exports.FIELD =
|
|
6
|
+
exports.VARIANTS = exports.REDIRECT_PATH = exports.METRIC = exports.INPUT_TYPE = exports.INPUT = exports.FORM_STORAGE_KEY = exports.FORM_STORAGE_CACHE = exports.FORMAT_DATE_SHORT = exports.FORMAT_DATE = exports.FORMAT_CURRENCY = exports.FIELD = void 0;
|
|
7
7
|
var _ui = require("@mirai/ui");
|
|
8
8
|
var _components = require("./components");
|
|
9
|
-
const FEATURE_CHECKOUT_EXPERIMENT = exports.FEATURE_CHECKOUT_EXPERIMENT = 'checkoutExperiment';
|
|
10
9
|
const INPUT = exports.INPUT = {
|
|
11
10
|
TEXT: 0,
|
|
12
11
|
SELECT: 1,
|
|
@@ -45,6 +44,7 @@ const FORMAT_DATE_SHORT = exports.FORMAT_DATE_SHORT = {
|
|
|
45
44
|
month: 'short',
|
|
46
45
|
day: 'numeric'
|
|
47
46
|
};
|
|
47
|
+
const METRIC = exports.METRIC = 'CHECKOUT';
|
|
48
48
|
const REDIRECT_PATH = exports.REDIRECT_PATH = 'miraiFrontDispatcher.htm';
|
|
49
49
|
const VARIANTS = exports.VARIANTS = ['A', 'B'];
|
|
50
50
|
//# sourceMappingURL=Checkout.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.constants.js","names":["_ui","require","_components","
|
|
1
|
+
{"version":3,"file":"Checkout.constants.js","names":["_ui","require","_components","INPUT","exports","TEXT","SELECT","OPTION","PHONE","RADIO","HTML","INPUT_TYPE","EMAIL","NUMBER","FIELD","InputOption","InputPhone","InputRadio","InputSelect","InputText","Text","FORM_STORAGE_CACHE","FORM_STORAGE_KEY","FORMAT_CURRENCY","currency","FORMAT_DATE","weekday","year","month","day","FORMAT_DATE_SHORT","METRIC","REDIRECT_PATH","VARIANTS"],"sources":["../../../src/components/Checkout/Checkout.constants.js"],"sourcesContent":["import { InputOption, InputPhone, InputSelect, InputText, Text } from '@mirai/ui';\n\nimport { InputRadio } from './components';\n\nconst INPUT = {\n TEXT: 0,\n SELECT: 1,\n OPTION: 2,\n PHONE: 3,\n RADIO: 4,\n HTML: 5,\n};\n\nconst INPUT_TYPE = {\n TEXT: 0,\n EMAIL: 1,\n NUMBER: 2,\n};\n\nconst FIELD = {\n [INPUT.OPTION]: InputOption,\n [INPUT.PHONE]: InputPhone,\n [INPUT.RADIO]: InputRadio,\n [INPUT.SELECT]: InputSelect,\n [INPUT.TEXT]: InputText,\n [INPUT.HTML]: Text,\n};\n\nconst FORM_STORAGE_CACHE = 1000 * 60 * 60 * 24 * 7; // 7 days\n\nconst FORM_STORAGE_KEY = 'MIRAI:CHECKOUT:FORM';\n\nconst FORMAT_CURRENCY = { currency: 'EUR' };\n\nconst FORMAT_DATE = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' };\n\nconst FORMAT_DATE_SHORT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst METRIC = 'CHECKOUT';\n\nconst REDIRECT_PATH = 'miraiFrontDispatcher.htm';\n\nconst VARIANTS = ['A', 'B'];\n\nexport {\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n FORMAT_CURRENCY,\n FORMAT_DATE,\n FORMAT_DATE_SHORT,\n INPUT,\n INPUT_TYPE,\n METRIC,\n REDIRECT_PATH,\n VARIANTS,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,MAAME,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACZE,IAAI,EAAE,CAAC;EACPC,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,UAAU,GAAAP,OAAA,CAAAO,UAAA,GAAG;EACjBN,IAAI,EAAE,CAAC;EACPO,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,KAAK,GAAAV,OAAA,CAAAU,KAAA,GAAG;EACZ,CAACX,KAAK,CAACI,MAAM,GAAGQ,eAAW;EAC3B,CAACZ,KAAK,CAACK,KAAK,GAAGQ,cAAU;EACzB,CAACb,KAAK,CAACM,KAAK,GAAGQ,sBAAU;EACzB,CAACd,KAAK,CAACG,MAAM,GAAGY,eAAW;EAC3B,CAACf,KAAK,CAACE,IAAI,GAAGc,aAAS;EACvB,CAAChB,KAAK,CAACO,IAAI,GAAGU;AAChB,CAAC;AAED,MAAMC,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAEpD,MAAMC,gBAAgB,GAAAlB,OAAA,CAAAkB,gBAAA,GAAG,qBAAqB;AAE9C,MAAMC,eAAe,GAAAnB,OAAA,CAAAmB,eAAA,GAAG;EAAEC,QAAQ,EAAE;AAAM,CAAC;AAE3C,MAAMC,WAAW,GAAArB,OAAA,CAAAqB,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAEzF,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG;EAAEJ,OAAO,EAAE,OAAO;EAAEE,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAE9E,MAAME,MAAM,GAAA3B,OAAA,CAAA2B,MAAA,GAAG,UAAU;AAEzB,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG,0BAA0B;AAEhD,MAAMC,QAAQ,GAAA7B,OAAA,CAAA6B,QAAA,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC"}
|
|
@@ -9,9 +9,10 @@ var _locale = require("@mirai/locale");
|
|
|
9
9
|
var _services = require("@mirai/services");
|
|
10
10
|
var _ui = require("@mirai/ui");
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _Checkout = require("./Checkout.
|
|
12
|
+
var _Checkout = require("./Checkout.constants");
|
|
13
|
+
var _Checkout2 = require("./Checkout.l10n");
|
|
13
14
|
var style = _interopRequireWildcard(require("./Checkout.module.css"));
|
|
14
|
-
var
|
|
15
|
+
var _Checkout3 = _interopRequireDefault(require("./Checkout.skeleton"));
|
|
15
16
|
var _helpers = require("./helpers");
|
|
16
17
|
var _partials = require("./partials");
|
|
17
18
|
var _Core = require("../../Core.constants");
|
|
@@ -58,7 +59,9 @@ const Checkout = _ref => {
|
|
|
58
59
|
|
|
59
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
61
|
(0, _react.useEffect)(() => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
61
|
-
id:
|
|
62
|
+
id: "".concat(_Checkout.METRIC, ":RENDER"),
|
|
63
|
+
tpvError: !!tpvError,
|
|
64
|
+
variant
|
|
62
65
|
}), []);
|
|
63
66
|
(0, _react.useEffect)(() => {
|
|
64
67
|
if (skeleton) return;
|
|
@@ -78,18 +81,32 @@ const Checkout = _ref => {
|
|
|
78
81
|
})
|
|
79
82
|
}).catch(error => {
|
|
80
83
|
setResponseError(error);
|
|
84
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
85
|
+
id: "".concat(_Checkout.METRIC, ":ERROR"),
|
|
86
|
+
error
|
|
87
|
+
});
|
|
81
88
|
});
|
|
82
89
|
setBusy(false);
|
|
83
90
|
setDataSource(response);
|
|
84
|
-
if (response)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
if (response) {
|
|
92
|
+
_dataSources.Event.publish(_helpers2.EVENT.CHECKOUT_RESPONSE, {
|
|
93
|
+
event: _helpers2.EVENT.CHECKOUT_RESPONSE,
|
|
94
|
+
response
|
|
95
|
+
});
|
|
96
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
97
|
+
id: "".concat(_Checkout.METRIC, ":READY"),
|
|
98
|
+
agency: !!response.agency,
|
|
99
|
+
payment: !!response.payment
|
|
100
|
+
});
|
|
101
|
+
}
|
|
88
102
|
})();
|
|
89
103
|
|
|
90
104
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
105
|
}, [locale, session, selectedExtras]);
|
|
92
106
|
const handleModalAgency = () => {
|
|
107
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
108
|
+
id: "".concat(_Checkout.METRIC, ":AGENCY:INFO")
|
|
109
|
+
});
|
|
93
110
|
setModalAgency(true);
|
|
94
111
|
};
|
|
95
112
|
const handleErrorConfirmation = () => {
|
|
@@ -130,15 +147,15 @@ const Checkout = _ref => {
|
|
|
130
147
|
info: true,
|
|
131
148
|
wide: true,
|
|
132
149
|
className: (0, _ui.styles)(style.agency, others.className)
|
|
133
|
-
}, !tpvError && !payment && "".concat(translate(
|
|
150
|
+
}, !tpvError && !payment && "".concat(translate(_Checkout2.L10N.NOTIFICATION_NO_CARD), " "), !tpvError && agency.name && translate(_Checkout2.L10N.NOTIFICATION_AGENCY, {
|
|
134
151
|
agency: agency.name,
|
|
135
152
|
link: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
136
153
|
underline: true,
|
|
137
154
|
small: true,
|
|
138
155
|
onPress: handleModalAgency,
|
|
139
156
|
className: (0, _ui.styles)(style.action)
|
|
140
|
-
}, translate(
|
|
141
|
-
}), tpvError && translate(
|
|
157
|
+
}, translate(_Checkout2.L10N.ACTION_MORE_INFO)))
|
|
158
|
+
}), tpvError && translate(_Checkout2.L10N.NOTIFICATION_UNKNOWN_POS_ERROR)), !isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingSummary, {
|
|
142
159
|
box: true,
|
|
143
160
|
dataSource: dataSource
|
|
144
161
|
}, /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
|
|
@@ -167,7 +184,7 @@ const Checkout = _ref => {
|
|
|
167
184
|
})) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
168
185
|
error: true,
|
|
169
186
|
large: true
|
|
170
|
-
}, translate(
|
|
187
|
+
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Core.ERROR.UNKNOWN])) : /*#__PURE__*/_react.default.createElement(_Checkout3.default, null)), agency.name && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
|
|
171
188
|
visible: modalAgency,
|
|
172
189
|
onClose: () => setModalAgency(false)
|
|
173
190
|
})), /*#__PURE__*/_react.default.createElement(_shared__.Footer, null));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_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","response","ServiceBooking","checkout","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","agency","payment","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","concat","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 { 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: 'CHECKOUT:RENDER' }), []);\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 });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\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 = {}, 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","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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,UAAA,GAAAC,sBAAA,CAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AAAmC,SAAAU,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,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,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEnC,MAAMK,QAAQ,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EAC7B,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MACLC,QAAQ;MACRC,KAAK;MACLC,QAAQ;MACRC,MAAM;MACNC,OAAO;MACPC,QAAQ,GAAG,KAAK;MAChBC,SAAS,EAAE;QAAEC,QAAQ,EAAEC,QAAQ;QAAE,GAAGF;MAAU,CAAC,GAAG,CAAC,CAAC;MACpDG;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAN,eAAQ,EAAC,EAAE,CAAC;EACxD,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACS,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAV,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACW,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;;EAEpD;EACA,IAAAa,gBAAS,EAAC,MAAMC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;IAAEC,EAAE,KAAAC,MAAA,CAAKC,gBAAM,YAAS;IAAEzB,QAAQ,EAAE,CAAC,CAACA,QAAQ;IAAEC;EAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;EAE5G,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAIrB,QAAQ,EAAE;IAEd,CAAC,YAAY;MACXO,OAAO,CAAC,IAAI,CAAC;MACb,MAAMsB,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7CpC,QAAQ;QACRC,KAAK;QACLC,QAAQ;QACRC,MAAM;QACNC,OAAO;QACP,GAAGE,SAAS;QACZ,GAAG,IAAA+B,4BAAmB,EAAC;UAAEnB,cAAc;UAAEZ,SAAS;UAAEG;QAAQ,CAAC;MAC/D,CAAC,CAAC,CAAC6B,KAAK,CAAEtB,KAAK,IAAK;QAClBS,gBAAgB,CAACT,KAAK,CAAC;QACvBW,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;UAAEC,EAAE,KAAAC,MAAA,CAAKC,gBAAM,WAAQ;UAAEjB;QAAM,CAAC,CAAC;MAChE,CAAC,CAAC;MACFJ,OAAO,CAAC,KAAK,CAAC;MAEdG,aAAa,CAACmB,QAAQ,CAAC;MACvB,IAAIA,QAAQ,EAAE;QACZP,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACU,iBAAiB,EAAE;UAAEC,KAAK,EAAEX,eAAK,CAACU,iBAAiB;UAAEL;QAAS,CAAC,CAAC;QACpFP,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;UAAEC,EAAE,KAAAC,MAAA,CAAKC,gBAAM,WAAQ;UAAEQ,MAAM,EAAE,CAAC,CAACP,QAAQ,CAACO,MAAM;UAAEC,OAAO,EAAE,CAAC,CAACR,QAAQ,CAACQ;QAAQ,CAAC,CAAC;MACjH;IACF,CAAC,EAAE,CAAC;;IAEJ;EACF,CAAC,EAAE,CAACvC,MAAM,EAAEC,OAAO,EAAEc,cAAc,CAAC,CAAC;EAErC,MAAMyB,iBAAiB,GAAGA,CAAA,KAAM;IAC9BhB,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,KAAAC,MAAA,CAAKC,gBAAM;IAAe,CAAC,CAAC;IAC7DV,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAMqB,uBAAuB,GAAGA,CAAA,KAAM;IACpCC,MAAM,CAACC,QAAQ,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC/C3B,iBAAiB,CAACL,KAAK,CAAC;EAC1B,CAAC;EAED,MAAM;IAAEyB,MAAM,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAG5B,UAAU,IAAI,CAAC,CAAC;EACjD,MAAMoB,QAAQ,GAAGpB,UAAU,KAAKmC,SAAS;EACzC,MAAMC,iBAAiB,GAAG5E,MAAM,CAAC6E,IAAI,CAAC/B,cAAc,IAAI,CAAC,CAAC,CAAC,CAAChC,MAAM,GAAG,CAAC;EAEtE,oBACEzC,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAAzG,MAAA,CAAAgB,OAAA,CAAA0F,QAAA,qBACE1G,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC7F,OAAA,CAAA+F,MAAM,MAAE,CAAC,eAEV3G,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA6G,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,GAAG,EAAC,UAAU;IAACC,MAAM,EAAEhE,MAAM,CAACgE,MAAO;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC7G,KAAK,CAAC8G,SAAS,EAAEnE,MAAM,CAACiE,SAAS;EAAE,gBAC/GhH,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAoH,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAErD,IAAI,IAAK,CAACuB,QAAQ,IAAI,CAACV,aAAe;IAACmC,SAAS,EAAE5G,KAAK,CAACkH;EAAS,CAAE,CAAC,EACpG/B,QAAQ,gBACPvF,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA6G,IAAI;IAACW,GAAG,EAAEvE,SAAU;IAACgE,SAAS,EAAE5G,KAAK,CAACoH;EAAQ,gBAC7CxH,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA6G,IAAI;IAACa,IAAI;IAACT,SAAS,EAAE5G,KAAK,CAACsH;EAAK,GAC9BnB,iBAAiB,iBAChBvG,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAAiH,0BAA0B;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAE1D,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyD,IAAK;IAACE,MAAM,EAAErD;EAAe,CAAE,CAChG,EAEA,CAACqB,MAAM,CAACiC,IAAI,IAAI,CAAChC,OAAO,IAAIlC,QAAQ,kBACnC7D,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiI,YAAY;IAAC3D,KAAK,EAAER,QAAS;IAACoE,KAAK;IAACC,IAAI;IAACT,IAAI;IAACT,SAAS,EAAE,IAAAC,UAAM,EAAC7G,KAAK,CAAC0F,MAAM,EAAE/C,MAAM,CAACiE,SAAS;EAAE,GAC9F,CAACnD,QAAQ,IAAI,CAACkC,OAAO,OAAAV,MAAA,CAAOnC,SAAS,CAACiF,eAAI,CAACC,oBAAoB,CAAC,MAAG,EACnE,CAACvE,QAAQ,IACRiC,MAAM,CAACiC,IAAI,IACX7E,SAAS,CAACiF,eAAI,CAACE,mBAAmB,EAAE;IAClCvC,MAAM,EAAEA,MAAM,CAACiC,IAAI;IACnBO,IAAI,eACFtI,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAAzG,MAAA,CAAAgB,OAAA,CAAA0F,QAAA,qBACE1G,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAwI,MAAM;MAACC,SAAS;MAACP,KAAK;MAACQ,OAAO,EAAEzC,iBAAkB;MAACgB,SAAS,EAAE,IAAAC,UAAM,EAAC7G,KAAK,CAACsI,MAAM;IAAE,GACjFxF,SAAS,CAACiF,eAAI,CAACQ,gBAAgB,CAC1B,CACR;EAEN,CAAC,CAAC,EACH9E,QAAQ,IAAIX,SAAS,CAACiF,eAAI,CAACS,8BAA8B,CAC9C,CACf,EAEA,CAAC5F,SAAS,iBACThD,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAAmI,cAAc;IAACC,GAAG;IAAC3E,UAAU,EAAEA;EAAW,gBACzCnE,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAAqI,cAAc;IAAC5E,UAAU,EAAEA,UAAW;IAAC6E,QAAQ;EAAA,CAAE,CACpC,CACjB,eAEDhJ,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAACjG,SAAA,CAAAyI,IAAI;IAAC9E,UAAU,EAAEA,UAAW;IAAC+E,UAAU,EAAE3C,iBAAkB;IAAC4C,OAAO,EAAE7E;EAAS,GAC5ER,OAAO,KAAK,GAAG,iBAAI9D,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAACjG,SAAA,CAAA4I,MAAM;IAAC9F,KAAK,EAAEa,UAAU,CAACb,KAAM;IAAC+F,QAAQ,EAAE7E;EAAkB,CAAE,CAC/E,CAAC,EAENxB,SAAS,iBAAIhD,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAAqI,cAAc;IAAC5E,UAAU,EAAEA,UAAW;IAAC6C,SAAS,EAAE5G,KAAK,CAAC0I;EAAI,CAAE,CAAC,eAE9E9I,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAA4I,YAAY;IAACnF,UAAU,EAAEA,UAAW;IAAC8D,KAAK;EAAA,CAAE,CACzC,CAAC,eAEPjI,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAACjG,SAAA,CAAA+I,YAAY;IACXvF,IAAI,EAAEA,IAAK;IACXG,UAAU,EAAEA,UAAW;IACvBE,KAAK,EAAE1C,MAAM,CAAC6E,IAAI,CAACnC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC5B,MAAM,GAAG,CAAE;IAC3C8B,cAAc,EAAEA,cAAe;IAC/B4E,OAAO,EAAElD,uBAAwB;IACjCuD,OAAO,EAAEA,CAAA,KAAM9E,iBAAiB,CAAC;EAAE,CACpC,CACG,CAAC,GACLG,aAAa,gBACf7E,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiI,YAAY;IAAC3D,KAAK;IAACoF,KAAK;EAAA,GACtBvG,SAAS,CAACiF,eAAI,CAACuB,kBAAkB,CAAC,CAAA7E,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE8E,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEf7J,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAACpG,UAAA,CAAAW,OAAQ,MAAE,CAET,CAAC,EACN8E,MAAM,CAACiC,IAAI,iBAAI/H,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC9F,QAAA,CAAAmJ,WAAW,EAAA1H,QAAA,KAAK0D,MAAM;IAAEuB,OAAO,EAAE1C,WAAY;IAACoF,OAAO,EAAEA,CAAA,KAAMnF,cAAc,CAAC,KAAK;EAAE,EAAE,CAAC,eAEvG5E,MAAA,CAAAgB,OAAA,CAAAyF,aAAA,CAAC/F,SAAA,CAAAsJ,MAAM,MAAE,CACT,CAAC;AAEP,CAAC;AAACC,OAAA,CAAApH,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAACqH,WAAW,GAAG,qBAAqB;AAE5CrH,QAAQ,CAACsH,SAAS,GAAG,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getFieldProps = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _ui = require("@mirai/ui");
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
10
|
var _testDNI = require("./testDNI");
|
|
@@ -59,6 +60,9 @@ const getFieldProps = function () {
|
|
|
59
60
|
small: true,
|
|
60
61
|
target: "_blank",
|
|
61
62
|
underline: true,
|
|
63
|
+
onPress: () => _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
64
|
+
id: "".concat(_Checkout.METRIC, ":FORM:VIEW_CLUB_TERMS")
|
|
65
|
+
}),
|
|
62
66
|
style: {
|
|
63
67
|
display: 'inline'
|
|
64
68
|
}
|
|
@@ -66,7 +70,12 @@ const getFieldProps = function () {
|
|
|
66
70
|
otherConditions: !!otherConditions,
|
|
67
71
|
termsLink: /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
68
72
|
small: true,
|
|
69
|
-
onPress:
|
|
73
|
+
onPress: () => {
|
|
74
|
+
onPress();
|
|
75
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
76
|
+
id: "".concat(_Checkout.METRIC, ":FORM:VIEW_TERMS")
|
|
77
|
+
});
|
|
78
|
+
},
|
|
70
79
|
style: {
|
|
71
80
|
display: 'inline'
|
|
72
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldProps.js","names":["
|
|
1
|
+
{"version":3,"file":"getFieldProps.js","names":["_dataSources","require","_ui","_react","_interopRequireDefault","_testDNI","_helpers","_Checkout","_Checkout2","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","HTML","OPTION","PHONE","SELECT","INPUT","getFieldProps","field","arguments","length","undefined","input","type","props","value","error","otherConditions","session","translate","name","url","conditions","onPress","checked","children","parseHtml","small","disabled","hint","L10N","concat","toUpperCase","id","replace","key","label","club","clubLink","createElement","Action","href","target","underline","Event","publish","EVENT","METRICS","METRIC","display","LABEL_TERMS_AND_CONDITIONS","termsLink","ACTION_MORE_INFO","labelPrefix","LABEL_PHONE_PREFIX","showRequired","includes","success","test","testDNI","INPUT_TYPE","NUMBER","EMAIL","options","className","wide","half","exports"],"sources":["../../../../src/components/Checkout/helpers/getFieldProps.js"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { Action } from '@mirai/ui';\nimport React from 'react';\n\nimport { testDNI } from './testDNI';\nimport { EVENT, parseHtml } from '../../helpers';\nimport { INPUT, INPUT_TYPE, METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nconst { HTML, OPTION, PHONE, SELECT } = INPUT;\n\nexport const getFieldProps = (\n field = '',\n { input, type, ...props } = {},\n { value, error, otherConditions, session, translate = () => {} } = {},\n { name = '', url: { conditions = '' } = {} } = {},\n onPress = () => {},\n) => ({\n ...props,\n checked: input === OPTION ? (value !== undefined ? value : props.checked) || false : undefined,\n children: input === HTML && props.children ? parseHtml(props.children, { small: true }) : 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.replace(/\\./g, '-')}` : undefined,\n key: field,\n label:\n props.label ||\n translate(L10N[`LABEL_${field.toUpperCase()}`], {\n club: name,\n clubLink: (\n <Action\n href={conditions}\n small\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: `${METRIC}:FORM:VIEW_CLUB_TERMS` })}\n style={{ display: 'inline' }}\n >\n {translate(L10N.LABEL_TERMS_AND_CONDITIONS)}\n </Action>\n ),\n otherConditions: !!otherConditions,\n termsLink: (\n <Action\n small\n onPress={() => {\n onPress();\n Event.publish(EVENT.METRICS, { id: `${METRIC}:FORM:VIEW_TERMS` });\n }}\n style={{ display: 'inline' }}\n >\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: [OPTION, HTML].includes(input),\n success: field !== 'phone' ? !!value && !error : value?.length > 4 && !error,\n test: field === 'dni' ? testDNI : undefined,\n type:\n type === INPUT_TYPE.NUMBER\n ? 'number'\n : type === INPUT_TYPE.EMAIL\n ? 'email'\n : input === PHONE\n ? 'inputPhone'\n : input === OPTION\n ? 'checkbox'\n : undefined,\n value: input === SELECT && value === undefined ? props.options[0] : value || props.value,\n className:\n ['address', 'company', 'comments'].includes(field) || [OPTION, HTML].includes(input) ? style.wide : style.half,\n});\n"],"mappings":"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"}
|
|
@@ -47,15 +47,4 @@ Object.keys(_getSchemaProps).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
-
var _getVariant = require("./getVariant");
|
|
51
|
-
Object.keys(_getVariant).forEach(function (key) {
|
|
52
|
-
if (key === "default" || key === "__esModule") return;
|
|
53
|
-
if (key in exports && exports[key] === _getVariant[key]) return;
|
|
54
|
-
Object.defineProperty(exports, key, {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _getVariant[key];
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_getButtonPaymentKey","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getParamsFromExtras","_getFieldProps","_getSchemaProps"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_getButtonPaymentKey","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getParamsFromExtras","_getFieldProps","_getSchemaProps"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './getButtonPaymentKey';\nexport * from './getParamsFromExtras';\nexport * from './getFieldProps';\nexport * from './getSchemaProps';\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -14,7 +14,8 @@ var _Core = require("../../../Core.constants");
|
|
|
14
14
|
var _shared__ = require("../../__shared__");
|
|
15
15
|
var _BookingSummary = require("../../__shared__/BookingSummary");
|
|
16
16
|
var _helpers = require("../../helpers");
|
|
17
|
-
var _Checkout = require("../Checkout.
|
|
17
|
+
var _Checkout = require("../Checkout.constants");
|
|
18
|
+
var _Checkout2 = require("../Checkout.l10n");
|
|
18
19
|
var style = _interopRequireWildcard(require("../Checkout.module.css"));
|
|
19
20
|
var _helpers2 = require("../helpers");
|
|
20
21
|
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); }
|
|
@@ -71,7 +72,7 @@ const Confirmation = _ref => {
|
|
|
71
72
|
const handlePress = () => {
|
|
72
73
|
if (error) {
|
|
73
74
|
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
74
|
-
id:
|
|
75
|
+
id: "".concat(_Checkout.METRIC, ":SUBMIT_WITH_ERROR")
|
|
75
76
|
});
|
|
76
77
|
onError();
|
|
77
78
|
return false;
|
|
@@ -79,9 +80,14 @@ const Confirmation = _ref => {
|
|
|
79
80
|
setBusy(true);
|
|
80
81
|
};
|
|
81
82
|
const handleSubmit = async value => {
|
|
82
|
-
if (error)
|
|
83
|
+
if (error) {
|
|
84
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
85
|
+
id: "".concat(_Checkout.METRIC, ":SUBMIT_WITH_ERROR")
|
|
86
|
+
});
|
|
87
|
+
return onError();
|
|
88
|
+
}
|
|
83
89
|
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
84
|
-
id:
|
|
90
|
+
id: "".concat(_Checkout.METRIC, ":SUBMIT")
|
|
85
91
|
});
|
|
86
92
|
onValid();
|
|
87
93
|
setResponseError();
|
|
@@ -106,7 +112,7 @@ const Confirmation = _ref => {
|
|
|
106
112
|
_dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, {
|
|
107
113
|
error: true,
|
|
108
114
|
small: true,
|
|
109
|
-
defaultMessage: translate(
|
|
115
|
+
defaultMessage: translate(_Checkout2.L10N.NOTIFICATION_ERROR[(error === null || error === void 0 ? void 0 : error.code) || _Core.ERROR.UNKNOWN])
|
|
110
116
|
});
|
|
111
117
|
});
|
|
112
118
|
return response;
|
|
@@ -139,7 +145,7 @@ const Confirmation = _ref => {
|
|
|
139
145
|
light: !isMobile,
|
|
140
146
|
small: !isMobile,
|
|
141
147
|
tiny: isMobile
|
|
142
|
-
}, translate(
|
|
148
|
+
}, translate(_Checkout2.L10N.LABEL_TOTAL)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
143
149
|
bold: true,
|
|
144
150
|
headline: !isMobile || total < 1000,
|
|
145
151
|
level: isMobile ? 3 : 2
|
|
@@ -183,12 +189,12 @@ const Confirmation = _ref => {
|
|
|
183
189
|
error: true,
|
|
184
190
|
small: true,
|
|
185
191
|
wide: true
|
|
186
|
-
}, translate(
|
|
192
|
+
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Core.ERROR.UNKNOWN])), CTA(), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
187
193
|
light: true,
|
|
188
194
|
small: true,
|
|
189
195
|
wide: true,
|
|
190
196
|
className: style.footer
|
|
191
|
-
}, translate(
|
|
197
|
+
}, translate(_Checkout2.L10N.NOTIFICATION_SSL_ENCRYPTION))));
|
|
192
198
|
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({
|
|
193
199
|
ref: refContainer
|
|
194
200
|
}, others, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","variant","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","getParamsFromExtras","selectedExtras","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","total","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","showTotal","React","createElement","View","Fragment","row","wide","className","totalPrice","Text","light","tiny","LABEL_TOTAL","bold","headline","level","currencyFormat","ButtonPayment","publicKey","large","promise","onPress","testId","getButtonPaymentKey","info","amount","content","BookingSummary","section","Notification","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey, getParamsFromExtras } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {}, variant } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n\n onValid();\n setResponseError();\n\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 ...getParamsFromExtras({ selectedExtras: others.selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const { currency, price: { total = 0 } = {} } = dataSource;\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n const showTotal = variant === 'B' && !isDesktop;\n\n return React.createElement(\n showTotal ? View : React.Fragment,\n {\n ...(showTotal ? { row: true, wide: true } : undefined),\n },\n <>\n {showTotal && total > 0 && (\n <View className={style.totalPrice}>\n <Text light={!isMobile} small={!isMobile} tiny={isMobile}>\n {translate(L10N.LABEL_TOTAL)}\n </Text>\n <Text bold headline={!isMobile || total < 1000} level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, locale, value: total })}\n </Text>\n </View>\n )}\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n </>,\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","variant","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","getParamsFromExtras","selectedExtras","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","total","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","showTotal","React","createElement","View","Fragment","row","wide","className","totalPrice","Text","light","tiny","LABEL_TOTAL","bold","headline","level","currencyFormat","ButtonPayment","publicKey","large","promise","onPress","testId","getButtonPaymentKey","info","amount","content","BookingSummary","section","Notification","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey, getParamsFromExtras } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {}, variant } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR` });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR` });\n return onError();\n }\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT` });\n\n onValid();\n setResponseError();\n\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 ...getParamsFromExtras({ selectedExtras: others.selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const { currency, price: { total = 0 } = {} } = dataSource;\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n const showTotal = variant === 'B' && !isDesktop;\n\n return React.createElement(\n showTotal ? View : React.Fragment,\n {\n ...(showTotal ? { row: true, wide: true } : undefined),\n },\n <>\n {showTotal && total > 0 && (\n <View className={style.totalPrice}>\n <Text light={!isMobile} small={!isMobile} tiny={isMobile}>\n {translate(L10N.LABEL_TOTAL)}\n </Text>\n <Text bold headline={!isMobile || total < 1000} level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, locale, value: total })}\n </Text>\n </View>\n )}\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n </>,\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -132,6 +132,15 @@ const Form = _ref3 => {
|
|
|
132
132
|
setFormTracked(true);
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
|
+
const handleFormError = errors => {
|
|
136
|
+
setErrorForm(errors);
|
|
137
|
+
const totalErrors = Object.keys(errors).length;
|
|
138
|
+
if (totalErrors === 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
139
|
+
id: "".concat(_Checkout.METRIC, ":FORM:SUCCESS")
|
|
140
|
+
});else if (totalErrors === 1) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
141
|
+
id: "".concat(_Checkout.METRIC, ":FORM:ERROR")
|
|
142
|
+
});
|
|
143
|
+
};
|
|
135
144
|
const getFields = value => Object.entries(schema).filter(_ref6 => {
|
|
136
145
|
let [key] = _ref6;
|
|
137
146
|
return !!schema[key];
|
|
@@ -149,7 +158,7 @@ const Form = _ref3 => {
|
|
|
149
158
|
showErrors: showErrors,
|
|
150
159
|
validateOnMount: true,
|
|
151
160
|
onChange: handleChange,
|
|
152
|
-
onError:
|
|
161
|
+
onError: handleFormError,
|
|
153
162
|
onLeave: handleLeave,
|
|
154
163
|
className: (0, _ui.styles)(style.form, style.box)
|
|
155
164
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -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","children","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","node","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 children,\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 {children}\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 children: PropTypes.node,\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","children","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","handleFormError","errors","totalErrors","METRICS","id","METRIC","_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","node","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, METRIC } 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 children,\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 handleFormError = (errors) => {\n setErrorForm(errors);\n\n const totalErrors = Object.keys(errors).length;\n if (totalErrors === 0) Event.publish(EVENT.METRICS, { id: `${METRIC}:FORM:SUCCESS` });\n else if (totalErrors === 1) Event.publish(EVENT.METRICS, { id: `${METRIC}:FORM:ERROR` });\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={handleFormError}\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 {children}\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 children: PropTypes.node,\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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"}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TRACKING = exports.MAX_VISIBLE_DETAILS =
|
|
7
|
-
const FEATURE_CHECKOUT_TRACKING = exports.FEATURE_CHECKOUT_TRACKING = 'checkoutTracking';
|
|
6
|
+
exports.TRACKING = exports.MAX_VISIBLE_DETAILS = void 0;
|
|
8
7
|
const MAX_VISIBLE_DETAILS = exports.MAX_VISIBLE_DETAILS = 3;
|
|
9
8
|
const TRACKING = exports.TRACKING = 'CHECKOUT';
|
|
10
9
|
//# sourceMappingURL=BookingDetails.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingDetails.constants.js","names":["
|
|
1
|
+
{"version":3,"file":"BookingDetails.constants.js","names":["MAX_VISIBLE_DETAILS","exports","TRACKING"],"sources":["../../../../src/components/__shared__/BookingDetails/BookingDetails.constants.js"],"sourcesContent":["const MAX_VISIBLE_DETAILS = 3;\n\nconst TRACKING = 'CHECKOUT';\n\nexport { MAX_VISIBLE_DETAILS, TRACKING };\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,CAAC;AAE7B,MAAME,QAAQ,GAAAD,OAAA,CAAAC,QAAA,GAAG,UAAU"}
|
package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js
CHANGED
|
@@ -37,12 +37,15 @@ const NotificationRequiredFields = _ref => {
|
|
|
37
37
|
} = (0, _dataSources.useStore)();
|
|
38
38
|
(0, _react.useEffect)(() => {
|
|
39
39
|
if (metrics) {
|
|
40
|
-
const
|
|
40
|
+
const fields = Object.keys(values);
|
|
41
41
|
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
42
42
|
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS"),
|
|
43
|
-
fields
|
|
44
|
-
total:
|
|
43
|
+
fields,
|
|
44
|
+
total: fields.length
|
|
45
45
|
});
|
|
46
|
+
fields.forEach(key => _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
47
|
+
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS:").concat(key)
|
|
48
|
+
}));
|
|
46
49
|
}
|
|
47
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
51
|
}, [values]);
|
|
@@ -53,7 +56,7 @@ const NotificationRequiredFields = _ref => {
|
|
|
53
56
|
behavior: 'smooth'
|
|
54
57
|
});
|
|
55
58
|
if (metrics) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
56
|
-
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS:
|
|
59
|
+
id: "".concat(metrics, ":ERROR_REQUIRED_FIELDS:GO_TO_FIELD:").concat(id),
|
|
57
60
|
field: id
|
|
58
61
|
});
|
|
59
62
|
};
|
package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationRequiredFields.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_NotificationRequiredFields","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OFFSET","NotificationRequiredFields","_ref","form","schema","values","others","isMobile","useDevice","translate","useLocale","value","components","useStore","useEffect","metrics","keys","Event","publish","EVENT","METRICS","id","concat","
|
|
1
|
+
{"version":3,"file":"NotificationRequiredFields.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_NotificationRequiredFields","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OFFSET","NotificationRequiredFields","_ref","form","schema","values","others","isMobile","useDevice","translate","useLocale","value","components","useStore","useEffect","metrics","fields","keys","Event","publish","EVENT","METRICS","id","concat","total","forEach","handlePress","el","document","querySelector","window","scrollTo","top","getBoundingClientRect","scrollY","behavior","field","checkout","signup","profile","undefined","createElement","Notification","error","small","wide","L10N","NOTIFICATION_REQUIRED_FIELDS","View","row","className","map","_schema$field","Action","markdown","underline","onPress","replace","toUpperCase","label","exports","displayName","propTypes","PropTypes","string","shape"],"sources":["../../../../src/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { L10N } from './NotificationRequiredFields.l10n';\nimport * as style from './NotificationRequiredFields.module.css';\nimport { EVENT } from '../../helpers';\n\nconst OFFSET = 16;\n\nconst NotificationRequiredFields = ({ form = 'form', schema = {}, values = {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n\n useEffect(() => {\n if (metrics) {\n const fields = Object.keys(values);\n Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS`, fields, total: fields.length });\n fields.forEach((key) => Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS:${key}` }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handlePress = (id) => {\n const el = document.querySelector(id);\n el && window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - OFFSET, behavior: 'smooth' });\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS:GO_TO_FIELD:${id}`, field: id });\n };\n\n const metrics = components.checkout\n ? 'CHECKOUT'\n : components.signup\n ? 'SIGNUP'\n : components.profile\n ? 'PROFILE'\n : undefined;\n\n return Object.keys(values).length ? (\n <Notification {...others} error small={isMobile} wide>\n {translate(L10N.NOTIFICATION_REQUIRED_FIELDS)}\n <View row wide className={style.fields}>\n {Object.keys(values).map((field) => (\n <Action\n key={field}\n markdown={false}\n underline\n small\n onPress={() => handlePress(`#${form}-${field.replace(/\\./g, '-')}`)}\n >\n {L10N[`LABEL_${field.toUpperCase()}`]\n ? translate(L10N[`LABEL_${field.toUpperCase()}`])\n : schema[field]?.label || field}\n </Action>\n ))}\n </View>\n </Notification>\n ) : null;\n};\n\nNotificationRequiredFields.displayName = 'Mirai:Core:NotificationRequiredFields';\n\nNotificationRequiredFields.propTypes = {\n form: PropTypes.string,\n schema: PropTypes.shape({}),\n values: PropTypes.shape({}),\n};\n\nexport { NotificationRequiredFields };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,2BAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAF,uBAAA,CAAAN,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAsC,SAAAU,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,SAAAL,wBAAAK,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,SAAAf,uBAAA2B,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;AAEtC,MAAMK,MAAM,GAAG,EAAE;AAEjB,MAAMC,0BAA0B,GAAGC,IAAA,IAA4D;EAAA,IAA3D;IAAEC,IAAI,GAAG,MAAM;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAE,GAAGC;EAAO,CAAC,GAAAJ,IAAA;EACxF,MAAM;IAAEK;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC;IAAE;EAC3B,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,OAAO,EAAE;MACX,MAAMC,MAAM,GAAGnC,MAAM,CAACoC,IAAI,CAACZ,MAAM,CAAC;MAClCa,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;QAAEC,EAAE,KAAAC,MAAA,CAAKR,OAAO,2BAAwB;QAAEC,MAAM;QAAEQ,KAAK,EAAER,MAAM,CAACpB;MAAO,CAAC,CAAC;MACtGoB,MAAM,CAACS,OAAO,CAAE3B,GAAG,IAAKoB,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;QAAEC,EAAE,KAAAC,MAAA,CAAKR,OAAO,6BAAAQ,MAAA,CAA0BzB,GAAG;MAAG,CAAC,CAAC,CAAC;IAC1G;IACA;EACF,CAAC,EAAE,CAACO,MAAM,CAAC,CAAC;EAEZ,MAAMqB,WAAW,GAAIJ,EAAE,IAAK;IAC1B,MAAMK,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAACP,EAAE,CAAC;IACrCK,EAAE,IAAIG,MAAM,CAACC,QAAQ,CAAC;MAAEC,GAAG,EAAEL,EAAE,CAACM,qBAAqB,CAAC,CAAC,CAACD,GAAG,GAAGF,MAAM,CAACI,OAAO,GAAGlC,MAAM;MAAEmC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC5G,IAAIpB,OAAO,EAAEG,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,KAAAC,MAAA,CAAKR,OAAO,yCAAAQ,MAAA,CAAsCD,EAAE,CAAE;MAAEc,KAAK,EAAEd;IAAG,CAAC,CAAC;EACpH,CAAC;EAED,MAAMP,OAAO,GAAGH,UAAU,CAACyB,QAAQ,GAC/B,UAAU,GACVzB,UAAU,CAAC0B,MAAM,GACjB,QAAQ,GACR1B,UAAU,CAAC2B,OAAO,GAClB,SAAS,GACTC,SAAS;EAEb,OAAO3D,MAAM,CAACoC,IAAI,CAACZ,MAAM,CAAC,CAACT,MAAM,gBAC/BhC,MAAA,CAAAW,OAAA,CAAAkE,aAAA,CAAChF,GAAA,CAAAiF,YAAY,EAAAnD,QAAA,KAAKe,MAAM;IAAEqC,KAAK;IAACC,KAAK,EAAErC,QAAS;IAACsC,IAAI;EAAA,IAClDpC,SAAS,CAACqC,gCAAI,CAACC,4BAA4B,CAAC,eAC7CnF,MAAA,CAAAW,OAAA,CAAAkE,aAAA,CAAChF,GAAA,CAAAuF,IAAI;IAACC,GAAG;IAACJ,IAAI;IAACK,SAAS,EAAEnF,KAAK,CAACiD;EAAO,GACpCnC,MAAM,CAACoC,IAAI,CAACZ,MAAM,CAAC,CAAC8C,GAAG,CAAEf,KAAK;IAAA,IAAAgB,aAAA;IAAA,oBAC7BxF,MAAA,CAAAW,OAAA,CAAAkE,aAAA,CAAChF,GAAA,CAAA4F,MAAM;MACLvD,GAAG,EAAEsC,KAAM;MACXkB,QAAQ,EAAE,KAAM;MAChBC,SAAS;MACTX,KAAK;MACLY,OAAO,EAAEA,CAAA,KAAM9B,WAAW,KAAAH,MAAA,CAAKpB,IAAI,OAAAoB,MAAA,CAAIa,KAAK,CAACqB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAE;IAAE,GAEnEX,gCAAI,UAAAvB,MAAA,CAAUa,KAAK,CAACsB,WAAW,CAAC,CAAC,EAAG,GACjCjD,SAAS,CAACqC,gCAAI,UAAAvB,MAAA,CAAUa,KAAK,CAACsB,WAAW,CAAC,CAAC,EAAG,CAAC,GAC/C,EAAAN,aAAA,GAAAhD,MAAM,CAACgC,KAAK,CAAC,cAAAgB,aAAA,uBAAbA,aAAA,CAAeO,KAAK,KAAIvB,KACtB,CAAC;EAAA,CACV,CACG,CACM,CAAC,GACb,IAAI;AACV,CAAC;AAACwB,OAAA,CAAA3D,0BAAA,GAAAA,0BAAA;AAEFA,0BAA0B,CAAC4D,WAAW,GAAG,uCAAuC;AAEhF5D,0BAA0B,CAAC6D,SAAS,GAAG;EACrC3D,IAAI,EAAE4D,kBAAS,CAACC,MAAM;EACtB5D,MAAM,EAAE2D,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B5D,MAAM,EAAE0D,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getVariant = void 0;
|
|
7
|
-
var _services = require("@mirai/services");
|
|
8
|
-
var _Checkout = require("../Checkout.constants");
|
|
9
|
-
const [DEFAULT_VARIANT] = _Checkout.VARIANTS || [];
|
|
10
|
-
const getVariant = function () {
|
|
11
|
-
let {
|
|
12
|
-
id,
|
|
13
|
-
isDesktop = true,
|
|
14
|
-
urlParams: {
|
|
15
|
-
variant: urlVariant
|
|
16
|
-
} = {}
|
|
17
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
-
if (isDesktop) return;
|
|
19
|
-
let value;
|
|
20
|
-
if (_Checkout.VARIANTS.includes(urlVariant)) {
|
|
21
|
-
value = urlVariant;
|
|
22
|
-
} else if (_services.ServiceFeatures.get(_Checkout.FEATURE_CHECKOUT_EXPERIMENT, id)) {
|
|
23
|
-
value = _Checkout.VARIANTS[Math.floor(Math.random() * _Checkout.VARIANTS.length)];
|
|
24
|
-
}
|
|
25
|
-
return value || DEFAULT_VARIANT;
|
|
26
|
-
};
|
|
27
|
-
exports.getVariant = getVariant;
|
|
28
|
-
//# sourceMappingURL=getVariant.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getVariant.js","names":["_services","require","_Checkout","DEFAULT_VARIANT","VARIANTS","getVariant","id","isDesktop","urlParams","variant","urlVariant","arguments","length","undefined","value","includes","ServiceFeatures","get","FEATURE_CHECKOUT_EXPERIMENT","Math","floor","random","exports"],"sources":["../../../../src/components/Checkout/helpers/getVariant.js"],"sourcesContent":["import { ServiceFeatures } from '@mirai/services';\n\nimport { FEATURE_CHECKOUT_EXPERIMENT, VARIANTS } from '../Checkout.constants';\n\nconst [DEFAULT_VARIANT] = VARIANTS || [];\n\nexport const getVariant = ({ id, isDesktop = true, urlParams: { variant: urlVariant } = {} } = {}) => {\n if (isDesktop) return;\n\n let value;\n\n if (VARIANTS.includes(urlVariant)) {\n value = urlVariant;\n } else if (ServiceFeatures.get(FEATURE_CHECKOUT_EXPERIMENT, id)) {\n value = VARIANTS[Math.floor(Math.random() * VARIANTS.length)];\n }\n\n return value || DEFAULT_VARIANT;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA,MAAM,CAACE,eAAe,CAAC,GAAGC,kBAAQ,IAAI,EAAE;AAEjC,MAAMC,UAAU,GAAG,SAAAA,CAAA,EAA4E;EAAA,IAA3E;IAAEC,EAAE;IAAEC,SAAS,GAAG,IAAI;IAAEC,SAAS,EAAE;MAAEC,OAAO,EAAEC;IAAW,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC/F,IAAIJ,SAAS,EAAE;EAEf,IAAIO,KAAK;EAET,IAAIV,kBAAQ,CAACW,QAAQ,CAACL,UAAU,CAAC,EAAE;IACjCI,KAAK,GAAGJ,UAAU;EACpB,CAAC,MAAM,IAAIM,yBAAe,CAACC,GAAG,CAACC,qCAA2B,EAAEZ,EAAE,CAAC,EAAE;IAC/DQ,KAAK,GAAGV,kBAAQ,CAACe,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGjB,kBAAQ,CAACQ,MAAM,CAAC,CAAC;EAC/D;EAEA,OAAOE,KAAK,IAAIX,eAAe;AACjC,CAAC;AAACmB,OAAA,CAAAjB,UAAA,GAAAA,UAAA"}
|