@mirai/core 0.3.271 → 0.3.272
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.
|
@@ -25,8 +25,17 @@ const storage = new _dataSources.Storage({
|
|
|
25
25
|
adapter: _dataSources.LocalAdapter,
|
|
26
26
|
cache: _Checkout.FORM_STORAGE_CACHE
|
|
27
27
|
});
|
|
28
|
-
const key = dataSource => "".concat(_Checkout.FORM_STORAGE_KEY, ":").concat((0, _helpers.generateId)(JSON.stringify(
|
|
29
|
-
|
|
28
|
+
const key = (dataSource, schema) => "".concat(_Checkout.FORM_STORAGE_KEY, ":").concat((0, _helpers.generateId)(JSON.stringify({
|
|
29
|
+
...dataSource,
|
|
30
|
+
schema: Object.entries(schema).filter(_ref => {
|
|
31
|
+
let [, value] = _ref;
|
|
32
|
+
return value.input !== _Checkout.INPUT.HTML;
|
|
33
|
+
}).map(_ref2 => {
|
|
34
|
+
let [key] = _ref2;
|
|
35
|
+
return key;
|
|
36
|
+
})
|
|
37
|
+
})));
|
|
38
|
+
const Form = _ref3 => {
|
|
30
39
|
var _payment$config, _payment$config$publi, _payment$info, _payment$info2;
|
|
31
40
|
let {
|
|
32
41
|
dataSource: {
|
|
@@ -42,7 +51,7 @@ const Form = _ref => {
|
|
|
42
51
|
variant,
|
|
43
52
|
onError = () => {},
|
|
44
53
|
...others
|
|
45
|
-
} =
|
|
54
|
+
} = _ref3;
|
|
46
55
|
const {
|
|
47
56
|
isDesktop
|
|
48
57
|
} = (0, _ui.useDevice)();
|
|
@@ -66,10 +75,10 @@ const Form = _ref => {
|
|
|
66
75
|
} = (0, _dataSources.useStore)();
|
|
67
76
|
const [errorForm, setErrorForm] = (0, _react.useState)({});
|
|
68
77
|
const [errorPayment, setErrorPayment] = (0, _react.useState)({});
|
|
69
|
-
const [form, setForm] = (0, _react.useState)(storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(
|
|
78
|
+
const [form, setForm] = (0, _react.useState)(storage.get(key(dataSource, schema)) || Object.fromEntries(Object.entries(schema).map(_ref4 => {
|
|
70
79
|
let [key, {
|
|
71
80
|
value
|
|
72
|
-
}] =
|
|
81
|
+
}] = _ref4;
|
|
73
82
|
return [key, value];
|
|
74
83
|
})));
|
|
75
84
|
const [formTracked, setFormTracked] = (0, _react.useState)();
|
|
@@ -89,7 +98,7 @@ const Form = _ref => {
|
|
|
89
98
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
90
99
|
}, [session]);
|
|
91
100
|
(0, _react.useLayoutEffect)(() => {
|
|
92
|
-
if (Object.keys(form).length) storage.set(key(dataSource), form);
|
|
101
|
+
if (Object.keys(form).length) storage.set(key(dataSource, schema), form);
|
|
93
102
|
set({
|
|
94
103
|
checkout: form
|
|
95
104
|
});
|
|
@@ -110,8 +119,8 @@ const Form = _ref => {
|
|
|
110
119
|
if (code) next.phone = code;
|
|
111
120
|
}
|
|
112
121
|
const nextFields = getFields(next);
|
|
113
|
-
const nextFiltered = nextFields.length < getFields(form).length ? Object.fromEntries(Object.entries(next).filter(
|
|
114
|
-
let [key] =
|
|
122
|
+
const nextFiltered = nextFields.length < getFields(form).length ? Object.fromEntries(Object.entries(next).filter(_ref5 => {
|
|
123
|
+
let [key] = _ref5;
|
|
115
124
|
return Object.fromEntries(nextFields)[key] !== undefined;
|
|
116
125
|
})) : undefined;
|
|
117
126
|
setForm(nextFiltered || next);
|
|
@@ -136,13 +145,13 @@ const Form = _ref => {
|
|
|
136
145
|
setFormTracked(true);
|
|
137
146
|
}
|
|
138
147
|
};
|
|
139
|
-
const getFields = value => Object.entries(schema).filter(
|
|
140
|
-
let [key] =
|
|
148
|
+
const getFields = value => Object.entries(schema).filter(_ref6 => {
|
|
149
|
+
let [key] = _ref6;
|
|
141
150
|
return !!schema[key];
|
|
142
|
-
}).filter(
|
|
151
|
+
}).filter(_ref7 => {
|
|
143
152
|
let [, {
|
|
144
153
|
visible
|
|
145
|
-
}] =
|
|
154
|
+
}] = _ref7;
|
|
146
155
|
return !visible || visible(value);
|
|
147
156
|
});
|
|
148
157
|
const {
|
|
@@ -163,8 +172,8 @@ const Form = _ref => {
|
|
|
163
172
|
wide: true
|
|
164
173
|
}, translate(_Checkout2.L10N.LABEL_PERSONAL_DETAILS)), /*#__PURE__*/_react.default.createElement(_shared__.TextRequiredFields, {
|
|
165
174
|
wide: true
|
|
166
|
-
}), getFields(form).map(
|
|
167
|
-
let [key, propField = {}] =
|
|
175
|
+
}), getFields(form).map(_ref8 => {
|
|
176
|
+
let [key, propField = {}] = _ref8;
|
|
168
177
|
const field = (0, _helpers2.parseField)(propField); // !TODO: remove when custom fields will in production
|
|
169
178
|
|
|
170
179
|
return /*#__PURE__*/_react.default.createElement(_Checkout.FIELD[field.input] || _ui.InputText, (0, _helpers2.getFieldProps)(key, field, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","Form","_ref","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","schema","tracking","showErrors","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","modal","setModal","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","filter","_ref3","undefined","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","_ref4","_ref5","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref6","propField","parseField","React","FIELD","input","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, parseField, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource) => `${FORM_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n 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 handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const 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 onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {getFields(form).map(([key, propField = {}]) => {\n const field = parseField(propField); // !TODO: remove when custom fields will in production\n\n return React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n );\n })}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal fit visible={modal} onClose={() => setModal(false)} className={style.modal}>\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","filter","_ref","value","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","tracking","showErrors","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","club","id","locale","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","_ref6","_ref7","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref8","propField","parseField","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n INPUT,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, parseField, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, 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 hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource, 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 handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const 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 onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {getFields(form).map(([key, propField = {}]) => {\n const field = parseField(propField); // !TODO: remove when custom fields will in production\n\n return React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n );\n })}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal fit visible={modal} onClose={() => setModal(false)} className={style.modal}>\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|