@mirai/core 0.3.51 → 0.3.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Checkout/Checkout.js +2 -2
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +241 -13
- 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.Form.js +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +23 -18
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +8 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +35 -14
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.l10n.js +9 -4
- package/build/components/Rates/Rates.l10n.js.map +1 -1
- package/build/components/Rates/Rates.module.css +15 -7
- package/build/components/Rates/components/Item/Item.Preview.js +127 -0
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -0
- package/build/components/Rates/components/Item/Item.Rates.js +185 -0
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -0
- package/build/components/Rates/components/Item/Item.js +10 -188
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +6 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +21 -0
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -4
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +38 -0
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -0
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +20 -0
- package/build/components/Rates/components/Item/components/ModalUrl/index.js +17 -0
- package/build/components/Rates/components/Item/components/ModalUrl/index.js.map +1 -0
- package/build/components/Rates/components/Item/components/index.js +11 -0
- package/build/components/Rates/components/Item/components/index.js.map +1 -1
- package/build/components/Rates/components/Item/index.js +8 -1
- package/build/components/Rates/components/Item/index.js.map +1 -1
- package/build/components/helpers/ICON.js +4 -0
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/helpers/generateId.js.map +1 -0
- package/build/components/helpers/index.js +11 -0
- package/build/components/helpers/index.js.map +1 -1
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +0 -18
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +0 -12
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +0 -6
- package/build/services/Rates/get.js +7 -4
- package/build/services/Rates/get.js.map +1 -1
- package/package.json +1 -1
- package/build/components/Checkout/helpers/generateId.js.map +0 -1
- /package/build/components/{Checkout/helpers → helpers}/generateId.js +0 -0
|
@@ -13,6 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _Checkout = require("./Checkout.constants");
|
|
14
14
|
var _Checkout2 = require("./Checkout.l10n");
|
|
15
15
|
var style = _interopRequireWildcard(require("./Checkout.module.css"));
|
|
16
|
+
var _Checkout3 = _interopRequireDefault(require("./Checkout.skeleton"));
|
|
16
17
|
var _helpers = require("./helpers");
|
|
17
18
|
var _partials = require("./partials");
|
|
18
19
|
var _partials2 = require("../Booking/partials");
|
|
@@ -25,7 +26,6 @@ let hasTracking = false;
|
|
|
25
26
|
const Checkout = _ref => {
|
|
26
27
|
let {
|
|
27
28
|
session: showSession = 'true',
|
|
28
|
-
skeleton,
|
|
29
29
|
...others
|
|
30
30
|
} = _ref;
|
|
31
31
|
const {
|
|
@@ -164,7 +164,7 @@ const Checkout = _ref => {
|
|
|
164
164
|
}))) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
165
165
|
error: true,
|
|
166
166
|
large: true
|
|
167
|
-
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Checkout.ERROR.UNKNOWN])) :
|
|
167
|
+
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Checkout.ERROR.UNKNOWN])) : /*#__PURE__*/_react.default.createElement(_Checkout3.default, null)), (agency === null || agency === void 0 ? void 0 : agency.name) && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
|
|
168
168
|
visible: modalAgency,
|
|
169
169
|
onClose: () => setModalAgency(false)
|
|
170
170
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_helpers","_partials","_partials2","_Booking","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool","node"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = 'true', skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n skeleton || null\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.node,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Checkout","_ref","session","showSession","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool","skeleton","node"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = 'true', ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.node,\n};\n\nexport { Checkout };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,OAAA;AACA,IAAAW,UAAA,GAAAN,sBAAA,CAAAL,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,UAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AAAsE,SAAAgB,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,SAAAV,wBAAAU,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,SAAApB,uBAAAgC,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;AAEtE,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,QAAQ,GAAGC,IAAA,IAAkD;EAAA,IAAjD;IAAEC,OAAO,EAAEC,WAAW,GAAG,MAAM;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EAC5D,MAAM;IAAEI,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEhB,OAAO;MAAEiB;IAAU;EACrE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAEpD,IAAAO,gBAAS,EAAC,MAAM;IACd/B,WAAW,GAAGgC,yBAAe,CAACvD,GAAG,CAACwD,mCAAyB,EAAEhB,EAAE,CAAC;IAChEjB,WAAW,IAAIY,WAAW,IAAAsB,MAAA,CAAIC,kBAAQ,cAAW;MAAEhB;IAAO,CAAC,CAAC;IAE5D,CAAC,YAAY;MACX,MAAMiB,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7CvB,QAAQ;QACRC,KAAK;QACLE,QAAQ;QACRC,MAAM;QACNhB,OAAO;QACP,GAAGiB;MACL,CAAC,CAAC,CAACmB,KAAK,CAAEd,KAAK,IAAK;QAClBK,gBAAgB,CAACL,KAAK,CAAC;QACvBzB,WAAW,IAAIW,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,qBAAkB;UAAEK,OAAO,EAAE,SAAS;UAAEC,MAAM,EAAE,UAAU;UAAEhB;QAAM,CAAC,CAAC;MACtG,CAAC,CAAC;MACFF,aAAa,CAACa,QAAQ,CAAC;MACvB,IAAAM,wBAAe,EAAC;QAAE,GAAGN,QAAQ;QAAE,GAAGhB,SAAS;QAAEb;MAAS,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC;IAEJoC,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACtC,IAAI,CAAC5C,WAAW,EAAE;MAClB,MAAM;QAAE6C,WAAW,GAAG,CAAC;QAAEC;MAAQ,CAAC,GAAGH,MAAM;MAC3C,MAAM;QAAEI,eAAe,EAAE;UAAEC,YAAY,GAAG;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGC,QAAQ;MAE/D,IAAIH,OAAO,IAAIE,YAAY,GAAGH,WAAW,EAAElC,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,mBAAgB,CAAC,CAAC,KACzE,IAAIW,OAAO,KAAK,CAAC,EAAEnC,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,gBAAa,CAAC;IACzD,CAAC,CAAC;IACF;EACF,CAAC,EAAE,CAAChC,OAAO,CAAC,CAAC;EAEb,MAAM+C,iBAAiB,GAAGA,CAAA,KAAM;IAC9BtB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAM;IAAEuB,MAAM,GAAG,CAAC,CAAC;IAAEnC,KAAK,EAAE;MAAEoC;IAAM,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG9B,UAAU,IAAI,CAAC,CAAC;EAC/D,MAAMc,QAAQ,GAAGd,UAAU,KAAK+B,SAAS;EACzC,MAAMC,OAAO,GAAG,IAAAC,mBAAU,EAAC;IAAEtC,EAAE;IAAEV,QAAQ;IAAEa;EAAU,CAAC,CAAC;EAEvD,oBACE7D,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAAjG,MAAA,CAAAgB,OAAA,CAAAkF,QAAA,qBACElG,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAsG,IAAI,EAAAnE,QAAA,KAAKc,MAAM;IAAEsD,IAAI,EAAC,UAAU;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAClG,KAAK,CAACmG,SAAS,EAAEzD,MAAM,CAACuD,SAAS;EAAE,iBACrFrG,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAA2G,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE,CAAC7B,QAAQ,IAAI,CAACP,aAAc;IAAC+B,SAAS,EAAEjG,KAAK,CAACuG;EAAS,CAAE,CAAC,EAC1F9B,QAAQ,gBACP7E,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAAjG,MAAA,CAAAgB,OAAA,CAAAkF,QAAA,qBACElG,MAAA,CAAAgB,OAAA,CAAAiF,aAAA;IAAKW,GAAG,EAAEf,KAAM;IAACQ,SAAS,EAAEjG,KAAK,CAACyG;EAAK,CAAE,CAAC,eAE1C7G,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAsG,IAAI;IAACW,GAAG,EAAE/D,SAAU;IAACsD,SAAS,EAAEjG,KAAK,CAAC2G;EAAQ,gBAC7C/G,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAsG,IAAI;IAACE,SAAS,EAAEjG,KAAK,CAAC4G;EAAK,GACzBjB,OAAO,KAAK,GAAG,iBAAI/F,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAA0G,OAAO;IAAClD,UAAU,EAAEA,UAAW;IAACsC,SAAS,EAAEjG,KAAK,CAAC8G;EAAI,CAAE,CAAC,EAE5ElE,QAAQ,iBAAIhD,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAA4G,OAAO;IAACpD,UAAU,EAAEA,UAAW;IAACgC,OAAO,EAAEA;EAAQ,CAAE,CAAC,EACjE,CAACnD,OAAO,IAAIC,WAAW,KAAK,MAAM,iBAAI7C,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAA6G,OAAO,MAAE,CAAC,EACjDxB,MAAM,CAACyB,IAAI,iBACVrH,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAyH,YAAY,EAAAtF,QAAA,KAAKc,MAAM;IAAEyE,KAAK;IAACC,IAAI;IAACC,IAAI;IAACpB,SAAS,EAAE,IAAAC,UAAM,EAAClG,KAAK,CAACwF,MAAM,EAAE9C,MAAM,CAACuD,SAAS;EAAE,IACzFnD,SAAS,CAACwE,eAAI,CAACC,mBAAmB,EAAE;IACnC/B,MAAM,EAAEA,MAAM,CAACyB,IAAI;IACnBO,IAAI,eACF5H,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAAjG,MAAA,CAAAgB,OAAA,CAAAkF,QAAA,qBACElG,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAgI,MAAM;MAACC,MAAM;MAACC,SAAS;MAACR,KAAK;MAACS,OAAO,EAAErC,iBAAkB;MAACU,SAAS,EAAE,IAAAC,UAAM,EAAClG,KAAK,CAAC6H,MAAM;IAAE,GACxF/E,SAAS,CAACwE,eAAI,CAACQ,gBAAgB,CAC1B,CACR;EAEN,CAAC,CACW,CACf,eACDlI,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAA4H,IAAI;IAACpE,UAAU,EAAEA,UAAW;IAACqE,OAAO,EAAEjE;EAAS,CAAE,CAAC,EAClD,CAACnB,QAAQ,iBAAIhD,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAA4G,OAAO;IAACpD,UAAU,EAAEA,UAAW;IAACgC,OAAO,EAAEA;EAAQ,CAAE,CAAC,eACnE/F,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACzF,UAAA,CAAA6H,MAAM;IAACtE,UAAU,EAAEA,UAAW;IAACwD,KAAK;IAACe,QAAQ,EAAE1D;EAAS,CAAE,CACvD,CAAC,eAEP5E,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC1F,SAAA,CAAAgI,YAAY;IAACxE,UAAU,EAAEA,UAAW;IAACyE,QAAQ,EAAEtE,KAAM;IAAC6B,OAAO,EAAEA;EAAQ,CAAE,CACtE,CACN,CAAC,GACDzB,aAAa,gBACftE,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACpG,GAAA,CAAAyH,YAAY;IAACpD,KAAK;IAACuE,KAAK;EAAA,GACtBvF,SAAS,CAACwE,eAAI,CAACgB,kBAAkB,CAAC,CAAApE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEqE,IAAI,KAAIC,eAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEf7I,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAAC5F,UAAA,CAAAW,OAAQ,MAAE,CAET,CAAC,EACN,CAAA4E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEyB,IAAI,kBAAIrH,MAAA,CAAAgB,OAAA,CAAAiF,aAAA,CAACxF,QAAA,CAAAqI,WAAW,EAAA9G,QAAA,KAAK4D,MAAM;IAAEc,OAAO,EAAEtC,WAAY;IAAC2E,OAAO,EAAEA,CAAA,KAAM1E,cAAc,CAAC,KAAK;EAAE,EAAE,CACvG,CAAC;AAEP,CAAC;AAAC2E,OAAA,CAAAtG,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAACuG,SAAS,GAAG;EACnBrG,OAAO,EAAEsG,kBAAS,CAACC,IAAI;EACvBC,QAAQ,EAAEF,kBAAS,CAACG;AACtB,CAAC"}
|
|
@@ -13,6 +13,41 @@ exports[`component:<Checkout> Test A/B variant A 1`] = `
|
|
|
13
13
|
class="view value indeterminate"
|
|
14
14
|
/>
|
|
15
15
|
</div>
|
|
16
|
+
<div
|
|
17
|
+
class="view wide"
|
|
18
|
+
style="align-items: start;"
|
|
19
|
+
>
|
|
20
|
+
<div
|
|
21
|
+
class="view row wide"
|
|
22
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
23
|
+
>
|
|
24
|
+
<div
|
|
25
|
+
class="view"
|
|
26
|
+
style="flex: 1; gap: 1rem;"
|
|
27
|
+
>
|
|
28
|
+
<div
|
|
29
|
+
class="view"
|
|
30
|
+
style="height: 32rem;"
|
|
31
|
+
/>
|
|
32
|
+
<div
|
|
33
|
+
class="view"
|
|
34
|
+
style="height: 16rem;"
|
|
35
|
+
/>
|
|
36
|
+
<div
|
|
37
|
+
class="view"
|
|
38
|
+
style="height: 16rem;"
|
|
39
|
+
/>
|
|
40
|
+
<div
|
|
41
|
+
class="view"
|
|
42
|
+
style="height: 12rem;"
|
|
43
|
+
/>
|
|
44
|
+
</div>
|
|
45
|
+
<div
|
|
46
|
+
class="view"
|
|
47
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
48
|
+
/>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
16
51
|
</div>
|
|
17
52
|
</DocumentFragment>
|
|
18
53
|
`;
|
|
@@ -30,6 +65,41 @@ exports[`component:<Checkout> Test A/B variant B 1`] = `
|
|
|
30
65
|
class="view value indeterminate"
|
|
31
66
|
/>
|
|
32
67
|
</div>
|
|
68
|
+
<div
|
|
69
|
+
class="view wide"
|
|
70
|
+
style="align-items: start;"
|
|
71
|
+
>
|
|
72
|
+
<div
|
|
73
|
+
class="view row wide"
|
|
74
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
75
|
+
>
|
|
76
|
+
<div
|
|
77
|
+
class="view"
|
|
78
|
+
style="flex: 1; gap: 1rem;"
|
|
79
|
+
>
|
|
80
|
+
<div
|
|
81
|
+
class="view"
|
|
82
|
+
style="height: 32rem;"
|
|
83
|
+
/>
|
|
84
|
+
<div
|
|
85
|
+
class="view"
|
|
86
|
+
style="height: 16rem;"
|
|
87
|
+
/>
|
|
88
|
+
<div
|
|
89
|
+
class="view"
|
|
90
|
+
style="height: 16rem;"
|
|
91
|
+
/>
|
|
92
|
+
<div
|
|
93
|
+
class="view"
|
|
94
|
+
style="height: 12rem;"
|
|
95
|
+
/>
|
|
96
|
+
</div>
|
|
97
|
+
<div
|
|
98
|
+
class="view"
|
|
99
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
100
|
+
/>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
33
103
|
</div>
|
|
34
104
|
</DocumentFragment>
|
|
35
105
|
`;
|
|
@@ -46,6 +116,41 @@ exports[`component:<Checkout> inherit:className 1`] = `
|
|
|
46
116
|
class="view value indeterminate"
|
|
47
117
|
/>
|
|
48
118
|
</div>
|
|
119
|
+
<div
|
|
120
|
+
class="view wide"
|
|
121
|
+
style="align-items: start;"
|
|
122
|
+
>
|
|
123
|
+
<div
|
|
124
|
+
class="view row wide"
|
|
125
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
126
|
+
>
|
|
127
|
+
<div
|
|
128
|
+
class="view"
|
|
129
|
+
style="flex: 1; gap: 1rem;"
|
|
130
|
+
>
|
|
131
|
+
<div
|
|
132
|
+
class="view"
|
|
133
|
+
style="height: 32rem;"
|
|
134
|
+
/>
|
|
135
|
+
<div
|
|
136
|
+
class="view"
|
|
137
|
+
style="height: 16rem;"
|
|
138
|
+
/>
|
|
139
|
+
<div
|
|
140
|
+
class="view"
|
|
141
|
+
style="height: 16rem;"
|
|
142
|
+
/>
|
|
143
|
+
<div
|
|
144
|
+
class="view"
|
|
145
|
+
style="height: 12rem;"
|
|
146
|
+
/>
|
|
147
|
+
</div>
|
|
148
|
+
<div
|
|
149
|
+
class="view"
|
|
150
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
151
|
+
/>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
49
154
|
</div>
|
|
50
155
|
</DocumentFragment>
|
|
51
156
|
`;
|
|
@@ -62,23 +167,41 @@ exports[`component:<Checkout> prop:session (false) 1`] = `
|
|
|
62
167
|
class="view value indeterminate"
|
|
63
168
|
/>
|
|
64
169
|
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</DocumentFragment>
|
|
67
|
-
`;
|
|
68
|
-
|
|
69
|
-
exports[`component:<Checkout> prop:skeleton 1`] = `
|
|
70
|
-
<DocumentFragment>
|
|
71
|
-
<div
|
|
72
|
-
class="view"
|
|
73
|
-
>
|
|
74
170
|
<div
|
|
75
|
-
class="view
|
|
171
|
+
class="view wide"
|
|
172
|
+
style="align-items: start;"
|
|
76
173
|
>
|
|
77
174
|
<div
|
|
78
|
-
class="view
|
|
79
|
-
|
|
175
|
+
class="view row wide"
|
|
176
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
177
|
+
>
|
|
178
|
+
<div
|
|
179
|
+
class="view"
|
|
180
|
+
style="flex: 1; gap: 1rem;"
|
|
181
|
+
>
|
|
182
|
+
<div
|
|
183
|
+
class="view"
|
|
184
|
+
style="height: 32rem;"
|
|
185
|
+
/>
|
|
186
|
+
<div
|
|
187
|
+
class="view"
|
|
188
|
+
style="height: 16rem;"
|
|
189
|
+
/>
|
|
190
|
+
<div
|
|
191
|
+
class="view"
|
|
192
|
+
style="height: 16rem;"
|
|
193
|
+
/>
|
|
194
|
+
<div
|
|
195
|
+
class="view"
|
|
196
|
+
style="height: 12rem;"
|
|
197
|
+
/>
|
|
198
|
+
</div>
|
|
199
|
+
<div
|
|
200
|
+
class="view"
|
|
201
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
202
|
+
/>
|
|
203
|
+
</div>
|
|
80
204
|
</div>
|
|
81
|
-
Skeleton
|
|
82
205
|
</div>
|
|
83
206
|
</DocumentFragment>
|
|
84
207
|
`;
|
|
@@ -95,6 +218,41 @@ exports[`component:<Checkout> renders 1`] = `
|
|
|
95
218
|
class="view value indeterminate"
|
|
96
219
|
/>
|
|
97
220
|
</div>
|
|
221
|
+
<div
|
|
222
|
+
class="view wide"
|
|
223
|
+
style="align-items: start;"
|
|
224
|
+
>
|
|
225
|
+
<div
|
|
226
|
+
class="view row wide"
|
|
227
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
228
|
+
>
|
|
229
|
+
<div
|
|
230
|
+
class="view"
|
|
231
|
+
style="flex: 1; gap: 1rem;"
|
|
232
|
+
>
|
|
233
|
+
<div
|
|
234
|
+
class="view"
|
|
235
|
+
style="height: 32rem;"
|
|
236
|
+
/>
|
|
237
|
+
<div
|
|
238
|
+
class="view"
|
|
239
|
+
style="height: 16rem;"
|
|
240
|
+
/>
|
|
241
|
+
<div
|
|
242
|
+
class="view"
|
|
243
|
+
style="height: 16rem;"
|
|
244
|
+
/>
|
|
245
|
+
<div
|
|
246
|
+
class="view"
|
|
247
|
+
style="height: 12rem;"
|
|
248
|
+
/>
|
|
249
|
+
</div>
|
|
250
|
+
<div
|
|
251
|
+
class="view"
|
|
252
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
253
|
+
/>
|
|
254
|
+
</div>
|
|
255
|
+
</div>
|
|
98
256
|
</div>
|
|
99
257
|
</DocumentFragment>
|
|
100
258
|
`;
|
|
@@ -112,6 +270,41 @@ exports[`component:<Checkout> testID 1`] = `
|
|
|
112
270
|
class="view value indeterminate"
|
|
113
271
|
/>
|
|
114
272
|
</div>
|
|
273
|
+
<div
|
|
274
|
+
class="view wide"
|
|
275
|
+
style="align-items: start;"
|
|
276
|
+
>
|
|
277
|
+
<div
|
|
278
|
+
class="view row wide"
|
|
279
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
280
|
+
>
|
|
281
|
+
<div
|
|
282
|
+
class="view"
|
|
283
|
+
style="flex: 1; gap: 1rem;"
|
|
284
|
+
>
|
|
285
|
+
<div
|
|
286
|
+
class="view"
|
|
287
|
+
style="height: 32rem;"
|
|
288
|
+
/>
|
|
289
|
+
<div
|
|
290
|
+
class="view"
|
|
291
|
+
style="height: 16rem;"
|
|
292
|
+
/>
|
|
293
|
+
<div
|
|
294
|
+
class="view"
|
|
295
|
+
style="height: 16rem;"
|
|
296
|
+
/>
|
|
297
|
+
<div
|
|
298
|
+
class="view"
|
|
299
|
+
style="height: 12rem;"
|
|
300
|
+
/>
|
|
301
|
+
</div>
|
|
302
|
+
<div
|
|
303
|
+
class="view"
|
|
304
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
305
|
+
/>
|
|
306
|
+
</div>
|
|
307
|
+
</div>
|
|
115
308
|
</div>
|
|
116
309
|
</DocumentFragment>
|
|
117
310
|
`;
|
|
@@ -128,6 +321,41 @@ exports[`component:<Checkout> with a store 1`] = `
|
|
|
128
321
|
class="view value indeterminate"
|
|
129
322
|
/>
|
|
130
323
|
</div>
|
|
324
|
+
<div
|
|
325
|
+
class="view wide"
|
|
326
|
+
style="align-items: start;"
|
|
327
|
+
>
|
|
328
|
+
<div
|
|
329
|
+
class="view row wide"
|
|
330
|
+
style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
|
|
331
|
+
>
|
|
332
|
+
<div
|
|
333
|
+
class="view"
|
|
334
|
+
style="flex: 1; gap: 1rem;"
|
|
335
|
+
>
|
|
336
|
+
<div
|
|
337
|
+
class="view"
|
|
338
|
+
style="height: 32rem;"
|
|
339
|
+
/>
|
|
340
|
+
<div
|
|
341
|
+
class="view"
|
|
342
|
+
style="height: 16rem;"
|
|
343
|
+
/>
|
|
344
|
+
<div
|
|
345
|
+
class="view"
|
|
346
|
+
style="height: 16rem;"
|
|
347
|
+
/>
|
|
348
|
+
<div
|
|
349
|
+
class="view"
|
|
350
|
+
style="height: 12rem;"
|
|
351
|
+
/>
|
|
352
|
+
</div>
|
|
353
|
+
<div
|
|
354
|
+
class="view"
|
|
355
|
+
style="flex: 1; max-width: 400px; height: 36rem;"
|
|
356
|
+
/>
|
|
357
|
+
</div>
|
|
358
|
+
</div>
|
|
131
359
|
</div>
|
|
132
360
|
</DocumentFragment>
|
|
133
361
|
`;
|
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _generateId = require("./generateId");
|
|
7
|
-
Object.keys(_generateId).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _generateId[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _generateId[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
6
|
var _getFieldProps = require("./getFieldProps");
|
|
18
7
|
Object.keys(_getFieldProps).forEach(function (key) {
|
|
19
8
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_getFieldProps","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getVariant","_trackDataSource","_trackForm"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './getFieldProps';\nexport * from './getVariant';\nexport * from './trackDataSource';\nexport * from './trackForm';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,WAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,WAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,WAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,WAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,gBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,gBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,gBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,gBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,UAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,UAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,UAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,UAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -25,7 +25,7 @@ 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,
|
|
28
|
+
const key = dataSource => "".concat(_Checkout.FORM_STORAGE_KEY, ":").concat((0, _helpers.generateId)(JSON.stringify(dataSource)));
|
|
29
29
|
const Form = _ref => {
|
|
30
30
|
let {
|
|
31
31
|
dataSource: {
|
|
@@ -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","currency","repositories","countries","form","schema","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","config","publicKey","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_INFORMATION","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","method","exports","displayName","propTypes","PropTypes","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Payment, TextRequiredFields } from '../../__shared__';\nimport { 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 { generateId, getFieldProps, 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 = {}, ...dataSource } = {},\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...session });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.keys({ ...errorForm, ...errorPayment }).length > 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm(form);\n setFormTracked(true);\n }\n };\n\n const { payment: { config: { publicKey = {}, ...config } = {} } = {} } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_INFORMATION)}\n </Text>\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club),\n ),\n )}\n </FormBase>\n\n <Payment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: publicKey[payment?.method] } }}\n currency={currency}\n onError={setErrorPayment}\n />\n </>\n );\n};\n\nForm.displayName = 'Mirai:User:Checkout.Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAOA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAL,uBAAA,CAAAP,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAAkE,SAAAc,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,SAAAR,wBAAAQ,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,SAAAlB,uBAAA8B,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;AAElE,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,OAAO,GAAG,IAAIC,oBAAO,CAAC;EAAEC,OAAO,EAAEC,yBAAY;EAAEC,KAAK,EAAEC;AAAmB,CAAC,CAAC;AAEjF,MAAMR,GAAG,GAAIS,UAAU,OAAAC,MAAA,CAAQC,0BAAgB,OAAAD,MAAA,CAAI,IAAAE,oBAAU,EAACC,IAAI,CAACC,SAAS,CAACL,UAAU,CAAC,CAAC,CAAE;AAE3F,MAAMM,IAAI,GAAGC,IAAA,IAKP;EAAA,IALQ;IACZP,UAAU,EAAE;MAAEQ,QAAQ;MAAEC,YAAY,EAAE;QAAEC;MAAU,CAAC,GAAG,CAAC,CAAC;MAAEC,IAAI,EAAEC,MAAM,GAAG,CAAC,CAAC;MAAE,GAAGZ;IAAW,CAAC,GAAG,CAAC,CAAC;IACjGa,OAAO;IACPC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClB,GAAGC;EACL,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC9B,MAAM;IACJvC,GAAG;IACHwC,KAAK,EAAE;MAAEC,IAAI;MAAEC,EAAE;MAAEC,MAAM;MAAEC,OAAO;MAAEC;IAAQ;EAC9C,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC9C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC,CAAC;EACpD,MAAM,CAACpB,IAAI,EAAEuB,OAAO,CAAC,GAAG,IAAAH,eAAQ,EAC9BrC,OAAO,CAACxB,GAAG,CAACqB,GAAG,CAACS,UAAU,CAAC,CAAC,IAAI1B,MAAM,CAAC6D,WAAW,CAAC7D,MAAM,CAAC8D,OAAO,CAACxB,MAAM,CAAC,CAACyB,GAAG,CAACC,KAAA;IAAA,IAAC,CAAC/C,GAAG,EAAE;MAAE+B;IAAM,CAAC,CAAC,GAAAgB,KAAA;IAAA,OAAK,CAAC/C,GAAG,EAAE+B,KAAK,CAAC;EAAA,EAAC,CACnH,CAAC;EACD,MAAM,CAACiB,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAT,eAAQ,EAAC,CAAC;EAEhD,IAAAU,gBAAS,EAAC,MAAM;IACdhD,WAAW,GAAGiD,yBAAe,CAACxE,GAAG,CAACyE,mCAAyB,EAAEnB,EAAE,CAAC;IAChE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAiB,gBAAS,EAAC,MAAM;IACdP,OAAO,CAAC;MAAE,GAAGvB,IAAI;MAAE,GAAGgB;IAAQ,CAAC,CAAC;IAChC;EACF,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAAiB,sBAAe,EAAC,MAAM;IACpB,IAAItE,MAAM,CAACuE,IAAI,CAAClC,IAAI,CAAC,CAACtB,MAAM,EAAEK,OAAO,CAACZ,GAAG,CAACS,GAAG,CAACS,UAAU,CAAC,EAAEW,IAAI,CAAC;IAChE7B,GAAG,CAAC;MAAEgE,QAAQ,EAAEnC;IAAK,CAAC,CAAC;IACvB;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAA8B,gBAAS,EAAC,MAAM;IACd3B,OAAO,CAACxC,MAAM,CAACuE,IAAI,CAAC;MAAE,GAAGhB,SAAS;MAAE,GAAGG;IAAa,CAAC,CAAC,CAAC3C,MAAM,GAAG,CAAC,CAAC;IAClE;EACF,CAAC,EAAE,CAACwC,SAAS,EAAEG,YAAY,CAAC,CAAC;EAE7B,MAAMe,YAAY,GAAG,MAAOC,IAAI,IAAK;IACnC,IAAI,CAAC,CAACpC,MAAM,CAACqC,OAAO,IAAID,IAAI,CAACC,OAAO,IAAI,CAACD,IAAI,CAACE,KAAK,EAAE;MACnD,MAAM;QAAEC;MAAK,CAAC,GAAG,MAAMC,wBAAc,CAACC,IAAI,CAAC,IAAAC,uBAAc,EAACN,IAAI,CAACC,OAAO,EAAEvC,SAAS,CAAC,CAAC;MACnF,IAAIyC,IAAI,EAAEH,IAAI,CAACE,KAAK,GAAGC,IAAI;IAC7B;IAEAjB,OAAO,CAACc,IAAI,CAAC;EACf,CAAC;EAED,MAAMO,WAAW,GAAIC,KAAK,IAAK/D,WAAW,IAAI2B,KAAK,IAAAnB,MAAA,CAAIwD,kBAAQ,aAAAxD,MAAA,CAAUuD,KAAK,GAAI;IAAEA,KAAK;IAAE/B,MAAM;IAAEZ;EAAQ,CAAC,CAAC;EAE7G,MAAM6C,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAEC,QAAQ;MAAEX;IAAM,CAAC,GAAGrB,SAAS;IACvD,IAAI,CAACU,WAAW,IAAI,CAACoB,KAAK,IAAI,CAACC,SAAS,IAAI,CAACC,QAAQ,IAAI,CAACX,KAAK,EAAE;MAC/D,IAAAY,mBAAS,EAACnD,IAAI,CAAC;MACf6B,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAM;IAAEd,OAAO,EAAE;MAAEqC,MAAM,EAAE;QAAEC,SAAS,GAAG,CAAC,CAAC;QAAE,GAAGD;MAAO,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG/D,UAAU,IAAI,CAAC,CAAC;EAEzF,oBACE9C,MAAA,CAAAc,OAAA,CAAAiG,aAAA,CAAA/G,MAAA,CAAAc,OAAA,CAAAkG,QAAA,qBACEhH,MAAA,CAAAc,OAAA,CAAAiG,aAAA,CAAClH,GAAA,CAAAuD,IAAQ,EAAAtB,QAAA,KACH+B,MAAM;IACVoD,YAAY,EAAC,KAAK;IAClBC,eAAe;IACfC,QAAQ,EAAEtB,YAAa;IACvBuB,OAAO,EAAEf,WAAY;IACrBzC,OAAO,EAAEgB,YAAa;IACtByC,OAAO,EAAEb,WAAY;IACrBc,SAAS,EAAE,IAAAC,UAAM,EAACjH,KAAK,CAACmD,IAAI,EAAEnD,KAAK,CAACkH,GAAG;EAAE,iBAEzCxH,MAAA,CAAAc,OAAA,CAAAiG,aAAA,CAAClH,GAAA,CAAA4H,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAE7D,SAAU;IAAC8D,IAAI;EAAA,GACjC5D,SAAS,CAAC6D,eAAI,CAACC,0BAA0B,CACtC,CAAC,eACP9H,MAAA,CAAAc,OAAA,CAAAiG,aAAA,CAAC7G,SAAA,CAAA6H,kBAAkB;IAACH,IAAI;EAAA,CAAE,CAAC,EAE1BxG,MAAM,CAAC8D,OAAO,CAACxB,MAAM,CAAC,CACpBsE,MAAM,CAACC,KAAA;IAAA,IAAC,CAAC5F,GAAG,CAAC,GAAA4F,KAAA;IAAA,OAAK,CAAC,CAACvE,MAAM,CAACrB,GAAG,CAAC;EAAA,EAAC,CAChC2F,MAAM,CAACE,KAAA;IAAA,IAAC,GAAG;MAAEC;IAAQ,CAAC,CAAC,GAAAD,KAAA;IAAA,OAAK,CAACC,OAAO,IAAIA,OAAO,CAAC1E,IAAI,CAAC;EAAA,EAAC,CACtD0B,GAAG,CAACiD,KAAA;IAAA,IAAC,CAAC/F,GAAG,EAAEiE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAA8B,KAAA;IAAA,oBACrBC,cAAK,CAACtB,aAAa,CACjBuB,eAAK,CAAChC,KAAK,CAACiC,KAAK,CAAC,IAAIC,aAAS,EAC/B,IAAAC,uBAAa,EAACpG,GAAG,EAAEiE,KAAK,EAAE;MAAElC,KAAK,EAAEX,IAAI,CAACpB,GAAG,CAAC;MAAEqG,KAAK,EAAE/D,SAAS,CAACtC,GAAG,CAAC;MAAEoC,OAAO;MAAET;IAAU,CAAC,EAAEK,IAAI,CACjG,CAAC;EAAA,CACH,CACM,CAAC,eAEXrE,MAAA,CAAAc,OAAA,CAAAiG,aAAA,CAAC7G,SAAA,CAAAyI,OAAO,EAAA7G,QAAA,KACGgB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0B,OAAO;IAAEqC,MAAM,EAAE;MAAE,GAAGA,MAAM;MAAEC,SAAS,EAAEA,SAAS,CAACtC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEoE,MAAM;IAAE,CAAC;IAC1FtF,QAAQ,EAAEA,QAAS;IACnBM,OAAO,EAAEmB;EAAgB,EAC1B,CACD,CAAC;AAEP,CAAC;AAAC8D,OAAA,CAAAzF,IAAA,GAAAA,IAAA;AAEFA,IAAI,CAAC0F,WAAW,GAAG,0BAA0B;AAE7C1F,IAAI,CAAC2F,SAAS,GAAG;EACfjG,UAAU,EAAEkG,kBAAS,CAACC,KAAK,CAAC;IAC1BxF,IAAI,EAAEuF,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC;EACFtF,OAAO,EAAEqF,kBAAS,CAACE,MAAM;EACzBtF,OAAO,EAAEoF,kBAAS,CAACG;AACrB,CAAC"}
|
|
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","currency","repositories","countries","form","schema","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","config","publicKey","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_INFORMATION","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","method","exports","displayName","propTypes","PropTypes","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, 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 = {}, ...dataSource } = {},\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...session });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.keys({ ...errorForm, ...errorPayment }).length > 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm(form);\n setFormTracked(true);\n }\n };\n\n const { payment: { config: { publicKey = {}, ...config } = {} } = {} } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_INFORMATION)}\n </Text>\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club),\n ),\n )}\n </FormBase>\n\n <Payment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: publicKey[payment?.method] } }}\n currency={currency}\n onError={setErrorPayment}\n />\n </>\n );\n};\n\nForm.displayName = 'Mirai:User:Checkout.Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const Footer = _ref => {
|
|
|
24
24
|
filter: {
|
|
25
25
|
clubDiscount = false
|
|
26
26
|
} = {},
|
|
27
|
+
occupation = [],
|
|
27
28
|
selected = {},
|
|
28
29
|
taxes,
|
|
29
30
|
onChange = () => {}
|
|
@@ -52,6 +53,8 @@ const Footer = _ref => {
|
|
|
52
53
|
urlParams
|
|
53
54
|
});
|
|
54
55
|
};
|
|
56
|
+
|
|
57
|
+
// ! Should know if didnt expire the storage
|
|
55
58
|
const {
|
|
56
59
|
length: options
|
|
57
60
|
} = Object.keys(selected);
|
|
@@ -75,9 +78,17 @@ const Footer = _ref => {
|
|
|
75
78
|
};
|
|
76
79
|
});
|
|
77
80
|
}).flat();
|
|
81
|
+
const ViewCart = () => !soloRoom ? /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
82
|
+
inline: true,
|
|
83
|
+
small: isMobile,
|
|
84
|
+
onPress: () => setExpanded(!expanded)
|
|
85
|
+
}, translate(expanded ? _Rates.L10N.ACTION_HIDE_CART : _Rates.L10N.ACTION_VIEW_CART, {
|
|
86
|
+
amount: options
|
|
87
|
+
})) : null;
|
|
88
|
+
const soloRoom = occupation.length === 1;
|
|
78
89
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
79
90
|
className: (0, _ui.styles)(style.footer, options && style.visible)
|
|
80
|
-
}, expanded && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
91
|
+
}, (expanded || soloRoom) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
81
92
|
className: [style.wrapper, style.expanded],
|
|
82
93
|
wide: true
|
|
83
94
|
}, Object.entries(selected).map(_ref3 => {
|
|
@@ -94,12 +105,14 @@ const Footer = _ref => {
|
|
|
94
105
|
key: id,
|
|
95
106
|
className: style.item
|
|
96
107
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
108
|
+
bold: true,
|
|
97
109
|
small: true,
|
|
98
110
|
className: style.amount
|
|
99
111
|
}, "".concat(amount, "x")), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
100
112
|
small: true,
|
|
101
113
|
className: style.description
|
|
102
114
|
}, "".concat(title, " (").concat(name, ")")), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
115
|
+
bold: true,
|
|
103
116
|
small: true
|
|
104
117
|
}, (0, _locale.currencyFormat)({
|
|
105
118
|
currency,
|
|
@@ -120,6 +133,10 @@ const Footer = _ref => {
|
|
|
120
133
|
className: style.wrapper
|
|
121
134
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
122
135
|
className: style.price
|
|
136
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
137
|
+
row: true,
|
|
138
|
+
wide: true,
|
|
139
|
+
className: style.line
|
|
123
140
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
124
141
|
bold: true,
|
|
125
142
|
headline: true,
|
|
@@ -127,23 +144,11 @@ const Footer = _ref => {
|
|
|
127
144
|
}, (0, _locale.currencyFormat)({
|
|
128
145
|
currency,
|
|
129
146
|
value
|
|
130
|
-
})), /*#__PURE__*/_react.default.createElement(_ui.
|
|
131
|
-
row: true,
|
|
132
|
-
className: style.line
|
|
133
|
-
}, taxes && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
134
|
-
lighten: true,
|
|
135
|
-
small: true
|
|
136
|
-
}, taxes), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
147
|
+
})), isMobile && /*#__PURE__*/_react.default.createElement(ViewCart, null)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
137
148
|
lighten: true,
|
|
138
|
-
small:
|
|
139
|
-
|
|
140
|
-
}, translate(_Rates.L10N.
|
|
141
|
-
number: /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
142
|
-
inline: true,
|
|
143
|
-
small: true,
|
|
144
|
-
onPress: () => setExpanded(!expanded)
|
|
145
|
-
}, " ".concat(options, " options "))
|
|
146
|
-
})))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
149
|
+
small: !isMobile || !taxes,
|
|
150
|
+
tiny: isMobile
|
|
151
|
+
}, taxes || translate(_Rates.L10N.LABEL_INCLUDES_TAXES_FEES))), !isMobile && /*#__PURE__*/_react.default.createElement(ViewCart, null), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
147
152
|
large: !isMobile,
|
|
148
153
|
onPress: handlePress
|
|
149
154
|
}, translate(_Rates.L10N.ACTION_NEXT)))));
|
|
@@ -152,9 +157,9 @@ exports.Footer = Footer;
|
|
|
152
157
|
Footer.propTypes = {
|
|
153
158
|
dataSource: _propTypes.default.shape({}),
|
|
154
159
|
filter: _propTypes.default.shape({}),
|
|
160
|
+
occupation: _propTypes.default.arrayOf(_propTypes.default.array),
|
|
155
161
|
selected: _propTypes.default.shape({}),
|
|
156
162
|
taxes: _propTypes.default.string,
|
|
157
163
|
onChange: _propTypes.default.func
|
|
158
164
|
};
|
|
159
|
-
Footer.displayName = 'Mirai:Core:Rates.Footer';
|
|
160
165
|
//# sourceMappingURL=Rates.Footer.js.map
|