@mirai/core 0.3.398 → 0.3.400

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.
@@ -71,7 +71,7 @@ const Checkout = _ref => {
71
71
  hotel,
72
72
  language,
73
73
  locale,
74
- session: urlParams.applyClubDiscount === 'true' ? session : undefined,
74
+ session,
75
75
  ...urlParams
76
76
  }).catch(error => {
77
77
  setResponseError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_partials","_Core","_shared__","_Booking","_Header","_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","hasTracking","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","session","urlParams","posError","tpvError","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","handleErrorConfirmation","scrollTo","top","behavior","agency","payment","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","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","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"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 { 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 { Confirmation, 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 { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams: { posError: tpvError, ...urlParams } = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\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: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\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 }, [locale, session]);\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={!response && !responseError} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\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\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\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 skeleton: PropTypes.bool,\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","_partials","_Core","_shared__","_Booking","_Header","_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","hasTracking","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","session","urlParams","posError","tpvError","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","handleErrorConfirmation","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","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","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"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 { 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 { Confirmation, 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 { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams: { posError: tpvError, ...urlParams } = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\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 response && trace({ ...response.tracking, chainId: urlParams.idchain });\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 }, [locale, session]);\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={!response && !responseError} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\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\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\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 skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
@@ -18,6 +18,7 @@ const DATE_FORMAT = 'MM/YY';
18
18
  const Card = _ref => {
19
19
  var _form$card, _form$card2, _form$name, _form$name2, _form$expire, _form$expire2, _form$CVV, _form$CVV2;
20
20
  let {
21
+ cards = [],
21
22
  error: {
22
23
  card: cardError
23
24
  } = {},
@@ -42,7 +43,7 @@ const Card = _ref => {
42
43
  });
43
44
  // eslint-disable-next-line react-hooks/exhaustive-deps
44
45
  }, [formError]);
45
- const handleChange = values => setForm((0, _helpers.formatValues)(values));
46
+ const handleChange = values => setForm((0, _helpers.formatValues)(values, cards));
46
47
  const {
47
48
  testId
48
49
  } = others;
@@ -71,7 +72,7 @@ const Card = _ref => {
71
72
  showRequired: true,
72
73
  success: ((_form$card2 = form.card) === null || _form$card2 === void 0 ? void 0 : _form$card2.length) > 0 && !formError.card,
73
74
  value: form.card,
74
- test: _helpers.testCard,
75
+ test: value => (0, _helpers.testCard)(value, cards),
75
76
  className: style.card,
76
77
  testId: testId ? "".concat(testId, "-card") : undefined
77
78
  }), /*#__PURE__*/_react.default.createElement(_ui.InputText, {
@@ -122,6 +123,7 @@ const Card = _ref => {
122
123
  exports.Card = Card;
123
124
  Card.displayName = 'Mirai:Payments:Card';
124
125
  Card.propTypes = {
126
+ cards: _propTypes.default.array,
125
127
  error: _propTypes.default.shape({
126
128
  card: _propTypes.default.string
127
129
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Card","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DATE_FORMAT","Card","_ref","_form$card","_form$card2","_form$name","_form$name2","_form$expire","_form$expire2","_form$CVV","_form$CVV2","error","card","cardError","showCVV","showErrors","onChange","onError","others","translate","useLocale","form","setForm","useState","formError","setFormError","useEffect","handleChange","values","formatValues","testId","maxLength","placeholder","getCardConfig","createElement","Form","autoComplete","tag","validateOnMount","className","InputText","length","hint","id","label","L10N","LABEL_CARD_NUMBER","name","required","showRequired","success","value","test","testCard","concat","undefined","LABEL_CARD_NAME","minLength","InputDate","expire","format","LABEL_EXPIRATION","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","type","CVV","LABEL_CVV","testCVV","cvv","exports","displayName","propTypes","PropTypes","shape","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/Card/Card.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputDate, InputText, Form } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Card.l10n';\nimport * as style from './Card.module.css';\nimport { formatValues, getCardConfig, testCard, testCVV, testExpire } from './helpers';\n\nconst DATE_FORMAT = 'MM/YY';\n\nconst Card = ({\n error: { card: cardError } = {},\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n\n useEffect(() => {\n onChange(form);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...formError });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError]);\n\n const handleChange = (values) => setForm(formatValues(values));\n\n const { testId } = others;\n const { maxLength, placeholder } = getCardConfig(form.card);\n\n return (\n <Form\n autoComplete=\"off\"\n showErrors={showErrors}\n tag=\"fieldset\"\n validateOnMount\n onChange={handleChange}\n onError={setFormError}\n className={style.form}\n testId={testId}\n >\n <InputText\n error={(form.card?.length > 0 && !!formError.card) || cardError}\n hint={cardError}\n id=\"checkout-card\"\n label={translate(L10N.LABEL_CARD_NUMBER)}\n maxLength={maxLength.card}\n name=\"card\"\n placeholder={placeholder.card}\n required\n showRequired\n success={form.card?.length > 0 && !formError.card}\n value={form.card}\n test={testCard}\n className={style.card}\n testId={testId ? `${testId}-card` : undefined}\n />\n <InputText\n error={form.name?.length === 0 && !!formError.name && !formError.card}\n id=\"checkout-name\"\n label={translate(L10N.LABEL_CARD_NAME)}\n minLength={3}\n maxLength={100}\n name=\"name\"\n required\n showRequired\n success={form.name?.length > 0 && !formError.name}\n value={form.name}\n className={style.name}\n testId={testId ? `${testId}-name` : undefined}\n />\n <InputDate\n error={form.expire?.length > 0 && !!formError.expire}\n format={DATE_FORMAT}\n id=\"checkout-expire\"\n label={translate(L10N.LABEL_EXPIRATION)}\n name=\"expire\"\n maxLength={5}\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n test={testExpire}\n type=\"inputDate\"\n value={form.expire}\n className={style.expire}\n testId={testId ? `${testId}-expire` : undefined}\n />\n {showCVV && (\n <InputText\n error={form.CVV?.length > 0 && !!formError.CVV}\n id=\"checkout-CVV\"\n label={translate(L10N.LABEL_CVV)}\n maxLength={maxLength.CVV}\n name=\"CVV\"\n placeholder={placeholder.CVV}\n required\n showRequired\n success={form.CVV?.length > 0 && !formError.CVV}\n value={form.CVV}\n test={(CVV) => testCVV(CVV, maxLength.CVV)}\n className={style.cvv}\n testId={testId ? `${testId}-CVV` : undefined}\n />\n )}\n </Form>\n );\n};\n\nCard.displayName = 'Mirai:Payments:Card';\n\nCard.propTypes = {\n error: PropTypes.shape({\n card: PropTypes.string,\n }),\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Card };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAF,uBAAA,CAAAL,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAAuF,SAAAS,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;AAEvF,MAAMC,WAAW,GAAG,OAAO;AAE3B,MAAMC,IAAI,GAAGC,IAAA,IAOP;EAAA,IAAAC,UAAA,EAAAC,WAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,SAAA,EAAAC,UAAA;EAAA,IAPQ;IACZC,KAAK,EAAE;MAAEC,IAAI,EAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC/BC,OAAO,GAAG,IAAI;IACdC,UAAU,GAAG,KAAK;IAClBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClB,GAAGC;EACL,CAAC,GAAAhB,IAAA;EACC,MAAM;IAAEiB;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;EACpC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC,CAAC;EAE9C,IAAAG,gBAAS,EAAC,MAAM;IACdV,QAAQ,CAACK,IAAI,CAAC;IACd;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAK,gBAAS,EAAC,MAAM;IACdT,OAAO,CAAC;MAAE,GAAGO;IAAU,CAAC,CAAC;IACzB;EACF,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMG,YAAY,GAAIC,MAAM,IAAKN,OAAO,CAAC,IAAAO,qBAAY,EAACD,MAAM,CAAC,CAAC;EAE9D,MAAM;IAAEE;EAAO,CAAC,GAAGZ,MAAM;EACzB,MAAM;IAAEa,SAAS;IAAEC;EAAY,CAAC,GAAG,IAAAC,sBAAa,EAACZ,IAAI,CAACT,IAAI,CAAC;EAE3D,oBACEvC,MAAA,CAAAW,OAAA,CAAAkD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IACHC,YAAY,EAAC,KAAK;IAClBrB,UAAU,EAAEA,UAAW;IACvBsB,GAAG,EAAC,UAAU;IACdC,eAAe;IACftB,QAAQ,EAAEW,YAAa;IACvBV,OAAO,EAAEQ,YAAa;IACtBc,SAAS,EAAE/D,KAAK,CAAC6C,IAAK;IACtBS,MAAM,EAAEA;EAAO,gBAEfzD,MAAA,CAAAW,OAAA,CAAAkD,aAAA,CAAChE,GAAA,CAAAsE,SAAS;IACR7B,KAAK,EAAG,EAAAR,UAAA,GAAAkB,IAAI,CAACT,IAAI,cAAAT,UAAA,uBAATA,UAAA,CAAWsC,MAAM,IAAG,CAAC,IAAI,CAAC,CAACjB,SAAS,CAACZ,IAAI,IAAKC,SAAU;IAChE6B,IAAI,EAAE7B,SAAU;IAChB8B,EAAE,EAAC,eAAe;IAClBC,KAAK,EAAEzB,SAAS,CAAC0B,UAAI,CAACC,iBAAiB,CAAE;IACzCf,SAAS,EAAEA,SAAS,CAACnB,IAAK;IAC1BmC,IAAI,EAAC,MAAM;IACXf,WAAW,EAAEA,WAAW,CAACpB,IAAK;IAC9BoC,QAAQ;IACRC,YAAY;IACZC,OAAO,EAAE,EAAA9C,WAAA,GAAAiB,IAAI,CAACT,IAAI,cAAAR,WAAA,uBAATA,WAAA,CAAWqC,MAAM,IAAG,CAAC,IAAI,CAACjB,SAAS,CAACZ,IAAK;IAClDuC,KAAK,EAAE9B,IAAI,CAACT,IAAK;IACjBwC,IAAI,EAAEC,iBAAS;IACfd,SAAS,EAAE/D,KAAK,CAACoC,IAAK;IACtBkB,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,aAAUyB;EAAU,CAC/C,CAAC,eACFlF,MAAA,CAAAW,OAAA,CAAAkD,aAAA,CAAChE,GAAA,CAAAsE,SAAS;IACR7B,KAAK,EAAE,EAAAN,UAAA,GAAAgB,IAAI,CAAC0B,IAAI,cAAA1C,UAAA,uBAATA,UAAA,CAAWoC,MAAM,MAAK,CAAC,IAAI,CAAC,CAACjB,SAAS,CAACuB,IAAI,IAAI,CAACvB,SAAS,CAACZ,IAAK;IACtE+B,EAAE,EAAC,eAAe;IAClBC,KAAK,EAAEzB,SAAS,CAAC0B,UAAI,CAACW,eAAe,CAAE;IACvCC,SAAS,EAAE,CAAE;IACb1B,SAAS,EAAE,GAAI;IACfgB,IAAI,EAAC,MAAM;IACXC,QAAQ;IACRC,YAAY;IACZC,OAAO,EAAE,EAAA5C,WAAA,GAAAe,IAAI,CAAC0B,IAAI,cAAAzC,WAAA,uBAATA,WAAA,CAAWmC,MAAM,IAAG,CAAC,IAAI,CAACjB,SAAS,CAACuB,IAAK;IAClDI,KAAK,EAAE9B,IAAI,CAAC0B,IAAK;IACjBR,SAAS,EAAE/D,KAAK,CAACuE,IAAK;IACtBjB,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,aAAUyB;EAAU,CAC/C,CAAC,eACFlF,MAAA,CAAAW,OAAA,CAAAkD,aAAA,CAAChE,GAAA,CAAAwF,SAAS;IACR/C,KAAK,EAAE,EAAAJ,YAAA,GAAAc,IAAI,CAACsC,MAAM,cAAApD,YAAA,uBAAXA,YAAA,CAAakC,MAAM,IAAG,CAAC,IAAI,CAAC,CAACjB,SAAS,CAACmC,MAAO;IACrDC,MAAM,EAAE5D,WAAY;IACpB2C,EAAE,EAAC,iBAAiB;IACpBC,KAAK,EAAEzB,SAAS,CAAC0B,UAAI,CAACgB,gBAAgB,CAAE;IACxCd,IAAI,EAAC,QAAQ;IACbhB,SAAS,EAAE,CAAE;IACbC,WAAW,KAAAsB,MAAA,CAAKnC,SAAS,CAAC0B,UAAI,CAACiB,kBAAkB,CAAC,OAAAR,MAAA,CAAInC,SAAS,CAAC0B,UAAI,CAACkB,iBAAiB,CAAC,CAAG;IAC1Ff,QAAQ;IACRC,YAAY;IACZC,OAAO,EAAE,EAAA1C,aAAA,GAAAa,IAAI,CAACsC,MAAM,cAAAnD,aAAA,uBAAXA,aAAA,CAAaiC,MAAM,IAAG,CAAC,IAAI,CAACjB,SAAS,CAACmC,MAAO;IACtDP,IAAI,EAAEY,mBAAW;IACjBC,IAAI,EAAC,WAAW;IAChBd,KAAK,EAAE9B,IAAI,CAACsC,MAAO;IACnBpB,SAAS,EAAE/D,KAAK,CAACmF,MAAO;IACxB7B,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,eAAYyB;EAAU,CACjD,CAAC,EACDzC,OAAO,iBACNzC,MAAA,CAAAW,OAAA,CAAAkD,aAAA,CAAChE,GAAA,CAAAsE,SAAS;IACR7B,KAAK,EAAE,EAAAF,SAAA,GAAAY,IAAI,CAAC6C,GAAG,cAAAzD,SAAA,uBAARA,SAAA,CAAUgC,MAAM,IAAG,CAAC,IAAI,CAAC,CAACjB,SAAS,CAAC0C,GAAI;IAC/CvB,EAAE,EAAC,cAAc;IACjBC,KAAK,EAAEzB,SAAS,CAAC0B,UAAI,CAACsB,SAAS,CAAE;IACjCpC,SAAS,EAAEA,SAAS,CAACmC,GAAI;IACzBnB,IAAI,EAAC,KAAK;IACVf,WAAW,EAAEA,WAAW,CAACkC,GAAI;IAC7BlB,QAAQ;IACRC,YAAY;IACZC,OAAO,EAAE,EAAAxC,UAAA,GAAAW,IAAI,CAAC6C,GAAG,cAAAxD,UAAA,uBAARA,UAAA,CAAU+B,MAAM,IAAG,CAAC,IAAI,CAACjB,SAAS,CAAC0C,GAAI;IAChDf,KAAK,EAAE9B,IAAI,CAAC6C,GAAI;IAChBd,IAAI,EAAGc,GAAG,IAAK,IAAAE,gBAAO,EAACF,GAAG,EAAEnC,SAAS,CAACmC,GAAG,CAAE;IAC3C3B,SAAS,EAAE/D,KAAK,CAAC6F,GAAI;IACrBvC,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,YAASyB;EAAU,CAC9C,CAEC,CAAC;AAEX,CAAC;AAACe,OAAA,CAAArE,IAAA,GAAAA,IAAA;AAEFA,IAAI,CAACsE,WAAW,GAAG,qBAAqB;AAExCtE,IAAI,CAACuE,SAAS,GAAG;EACf7D,KAAK,EAAE8D,kBAAS,CAACC,KAAK,CAAC;IACrB9D,IAAI,EAAE6D,kBAAS,CAACE;EAClB,CAAC,CAAC;EACF7D,OAAO,EAAE2D,kBAAS,CAACG,IAAI;EACvB7D,UAAU,EAAE0D,kBAAS,CAACG,IAAI;EAC1B5D,QAAQ,EAAEyD,kBAAS,CAACI,IAAI;EACxB5D,OAAO,EAAEwD,kBAAS,CAACI;AACrB,CAAC"}
1
+ {"version":3,"file":"Card.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Card","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DATE_FORMAT","Card","_ref","_form$card","_form$card2","_form$name","_form$name2","_form$expire","_form$expire2","_form$CVV","_form$CVV2","cards","error","card","cardError","showCVV","showErrors","onChange","onError","others","translate","useLocale","form","setForm","useState","formError","setFormError","useEffect","handleChange","values","formatValues","testId","maxLength","placeholder","getCardConfig","createElement","Form","autoComplete","tag","validateOnMount","className","InputText","length","hint","id","label","L10N","LABEL_CARD_NUMBER","name","required","showRequired","success","value","test","testCard","concat","undefined","LABEL_CARD_NAME","minLength","InputDate","expire","format","LABEL_EXPIRATION","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","type","CVV","LABEL_CVV","testCVV","cvv","exports","displayName","propTypes","PropTypes","array","shape","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/Card/Card.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputDate, InputText, Form } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Card.l10n';\nimport * as style from './Card.module.css';\nimport { formatValues, getCardConfig, testCard, testCVV, testExpire } from './helpers';\n\nconst DATE_FORMAT = 'MM/YY';\n\nconst Card = ({\n cards = [],\n error: { card: cardError } = {},\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n\n useEffect(() => {\n onChange(form);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...formError });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError]);\n\n const handleChange = (values) => setForm(formatValues(values, cards));\n\n const { testId } = others;\n const { maxLength, placeholder } = getCardConfig(form.card);\n\n return (\n <Form\n autoComplete=\"off\"\n showErrors={showErrors}\n tag=\"fieldset\"\n validateOnMount\n onChange={handleChange}\n onError={setFormError}\n className={style.form}\n testId={testId}\n >\n <InputText\n error={(form.card?.length > 0 && !!formError.card) || cardError}\n hint={cardError}\n id=\"checkout-card\"\n label={translate(L10N.LABEL_CARD_NUMBER)}\n maxLength={maxLength.card}\n name=\"card\"\n placeholder={placeholder.card}\n required\n showRequired\n success={form.card?.length > 0 && !formError.card}\n value={form.card}\n test={(value) => testCard(value, cards)}\n className={style.card}\n testId={testId ? `${testId}-card` : undefined}\n />\n <InputText\n error={form.name?.length === 0 && !!formError.name && !formError.card}\n id=\"checkout-name\"\n label={translate(L10N.LABEL_CARD_NAME)}\n minLength={3}\n maxLength={100}\n name=\"name\"\n required\n showRequired\n success={form.name?.length > 0 && !formError.name}\n value={form.name}\n className={style.name}\n testId={testId ? `${testId}-name` : undefined}\n />\n <InputDate\n error={form.expire?.length > 0 && !!formError.expire}\n format={DATE_FORMAT}\n id=\"checkout-expire\"\n label={translate(L10N.LABEL_EXPIRATION)}\n name=\"expire\"\n maxLength={5}\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n test={testExpire}\n type=\"inputDate\"\n value={form.expire}\n className={style.expire}\n testId={testId ? `${testId}-expire` : undefined}\n />\n {showCVV && (\n <InputText\n error={form.CVV?.length > 0 && !!formError.CVV}\n id=\"checkout-CVV\"\n label={translate(L10N.LABEL_CVV)}\n maxLength={maxLength.CVV}\n name=\"CVV\"\n placeholder={placeholder.CVV}\n required\n showRequired\n success={form.CVV?.length > 0 && !formError.CVV}\n value={form.CVV}\n test={(CVV) => testCVV(CVV, maxLength.CVV)}\n className={style.cvv}\n testId={testId ? `${testId}-CVV` : undefined}\n />\n )}\n </Form>\n );\n};\n\nCard.displayName = 'Mirai:Payments:Card';\n\nCard.propTypes = {\n cards: PropTypes.array,\n error: PropTypes.shape({\n card: PropTypes.string,\n }),\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { Card };\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ var _helpers = require("../../../helpers");
10
10
  const PARSER = [/[^\d]/g, ''];
11
11
  const formatValues = function () {
12
12
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13
+ let cards = arguments.length > 1 ? arguments[1] : undefined;
13
14
  let {
14
15
  card = '',
15
16
  CVV = '',
@@ -33,7 +34,7 @@ const formatValues = function () {
33
34
  CVV,
34
35
  expire,
35
36
  name,
36
- type: (0, _getCardType.getCardType)(card)
37
+ type: (0, _getCardType.getCardType)(card, cards)
37
38
  };
38
39
  };
39
40
  exports.formatValues = formatValues;
@@ -1 +1 @@
1
- {"version":3,"file":"formatValues.js","names":["_getCardConfig","require","_getCardType","_helpers","PARSER","formatValues","values","arguments","length","undefined","card","CVV","expire","name","replace","formatExpire","toUpperCase","placeholder","getCardConfig","cardArray","map","char","shift","join","trimEnd","type","getCardType","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/formatValues.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { getCardType } from './getCardType';\nimport { formatExpire } from '../../../helpers';\n\nconst PARSER = [/[^\\d]/g, ''];\n\nexport const formatValues = (values = {}) => {\n let { card = '', CVV = '', expire = '', name = '' } = values;\n\n card = card.replace(...PARSER);\n CVV = CVV.replace(...PARSER);\n expire = formatExpire(expire);\n name = name.toUpperCase();\n\n const { placeholder = {} } = getCardConfig(card);\n const cardArray = card ? [...card] : [];\n card = [...placeholder.card]\n .map((char = '') => (char === ' ' ? char : cardArray.length >= 0 ? cardArray.shift() : ''))\n .join('')\n .trimEnd();\n\n return { card, CVV, expire, name, type: getCardType(card) };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEtB,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAAiB;EAAA,IAAhBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtC,IAAI;IAAEG,IAAI,GAAG,EAAE;IAAEC,GAAG,GAAG,EAAE;IAAEC,MAAM,GAAG,EAAE;IAAEC,IAAI,GAAG;EAAG,CAAC,GAAGP,MAAM;EAE5DI,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,GAAGV,MAAM,CAAC;EAC9BO,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,GAAGV,MAAM,CAAC;EAC5BQ,MAAM,GAAG,IAAAG,qBAAY,EAACH,MAAM,CAAC;EAC7BC,IAAI,GAAGA,IAAI,CAACG,WAAW,CAAC,CAAC;EAEzB,MAAM;IAAEC,WAAW,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,4BAAa,EAACR,IAAI,CAAC;EAChD,MAAMS,SAAS,GAAGT,IAAI,GAAG,CAAC,GAAGA,IAAI,CAAC,GAAG,EAAE;EACvCA,IAAI,GAAG,CAAC,GAAGO,WAAW,CAACP,IAAI,CAAC,CACzBU,GAAG,CAAC;IAAA,IAACC,IAAI,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,OAAMc,IAAI,KAAK,GAAG,GAAGA,IAAI,GAAGF,SAAS,CAACX,MAAM,IAAI,CAAC,GAAGW,SAAS,CAACG,KAAK,CAAC,CAAC,GAAG,EAAE;EAAA,CAAC,CAAC,CAC1FC,IAAI,CAAC,EAAE,CAAC,CACRC,OAAO,CAAC,CAAC;EAEZ,OAAO;IAAEd,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC,IAAI;IAAEY,IAAI,EAAE,IAAAC,wBAAW,EAAChB,IAAI;EAAE,CAAC;AAC7D,CAAC;AAACiB,OAAA,CAAAtB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"formatValues.js","names":["_getCardConfig","require","_getCardType","_helpers","PARSER","formatValues","values","arguments","length","undefined","cards","card","CVV","expire","name","replace","formatExpire","toUpperCase","placeholder","getCardConfig","cardArray","map","char","shift","join","trimEnd","type","getCardType","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/formatValues.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { getCardType } from './getCardType';\nimport { formatExpire } from '../../../helpers';\n\nconst PARSER = [/[^\\d]/g, ''];\n\nexport const formatValues = (values = {}, cards) => {\n let { card = '', CVV = '', expire = '', name = '' } = values;\n\n card = card.replace(...PARSER);\n CVV = CVV.replace(...PARSER);\n expire = formatExpire(expire);\n name = name.toUpperCase();\n\n const { placeholder = {} } = getCardConfig(card);\n const cardArray = card ? [...card] : [];\n card = [...placeholder.card]\n .map((char = '') => (char === ' ' ? char : cardArray.length >= 0 ? cardArray.shift() : ''))\n .join('')\n .trimEnd();\n\n return { card, CVV, expire, name, type: getCardType(card, cards) };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEtB,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAAwB;EAAA,IAAvBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,KAAK,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC7C,IAAI;IAAEE,IAAI,GAAG,EAAE;IAAEC,GAAG,GAAG,EAAE;IAAEC,MAAM,GAAG,EAAE;IAAEC,IAAI,GAAG;EAAG,CAAC,GAAGR,MAAM;EAE5DK,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,GAAGX,MAAM,CAAC;EAC9BQ,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,GAAGX,MAAM,CAAC;EAC5BS,MAAM,GAAG,IAAAG,qBAAY,EAACH,MAAM,CAAC;EAC7BC,IAAI,GAAGA,IAAI,CAACG,WAAW,CAAC,CAAC;EAEzB,MAAM;IAAEC,WAAW,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,4BAAa,EAACR,IAAI,CAAC;EAChD,MAAMS,SAAS,GAAGT,IAAI,GAAG,CAAC,GAAGA,IAAI,CAAC,GAAG,EAAE;EACvCA,IAAI,GAAG,CAAC,GAAGO,WAAW,CAACP,IAAI,CAAC,CACzBU,GAAG,CAAC;IAAA,IAACC,IAAI,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,OAAMe,IAAI,KAAK,GAAG,GAAGA,IAAI,GAAGF,SAAS,CAACZ,MAAM,IAAI,CAAC,GAAGY,SAAS,CAACG,KAAK,CAAC,CAAC,GAAG,EAAE;EAAA,CAAC,CAAC,CAC1FC,IAAI,CAAC,EAAE,CAAC,CACRC,OAAO,CAAC,CAAC;EAEZ,OAAO;IAAEd,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC,IAAI;IAAEY,IAAI,EAAE,IAAAC,wBAAW,EAAChB,IAAI,EAAED,KAAK;EAAE,CAAC;AACpE,CAAC;AAACkB,OAAA,CAAAvB,YAAA,GAAAA,YAAA"}
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getCardType = void 0;
7
7
  var _getCardConfig = require("./getCardConfig");
8
8
  var _Payment = require("../../../Payment.constants");
9
- const getCardType = card => {
9
+ const getCardType = function (card) {
10
+ let cards = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
10
11
  const {
11
12
  maxLength = {}
12
13
  } = (0, _getCardConfig.getCardConfig)(card);
@@ -22,7 +23,7 @@ const getCardType = card => {
22
23
  [_Payment.CARD.VISA]: /^4[0-9]{12}(?:[0-9]{3})?$/
23
24
  };
24
25
  for (const cardType in cardTypes) {
25
- if (card.replaceAll(' ', '').match(cardTypes[cardType])) {
26
+ if (card.replaceAll(' ', '').match(cardTypes[cardType]) && cards.includes(cardType)) {
26
27
  return cardType;
27
28
  }
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getCardType.js","names":["_getCardConfig","require","_Payment","getCardType","card","maxLength","getCardConfig","length","cardTypes","CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","cardType","replaceAll","match","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/getCardType.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { CARD } from '../../../Payment.constants';\n\nexport const getCardType = (card) => {\n const { maxLength = {} } = getCardConfig(card);\n if (!card || maxLength.card !== card.length) return;\n\n const cardTypes = {\n [CARD.AMERICAN_EXPRESS]: /^3[47][0-9]{13}$/,\n [CARD.DINERS_CLUB]: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,\n [CARD.DISCOVER]: /^6(?:011|5[0-9]{2})[0-9]{12}$/,\n [CARD.JCB]: /^(?:2131|1800|35\\d{3})\\d{11}$/,\n [CARD.MAESTRO]: /^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$/,\n [CARD.MASTERCARD]: /^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$/,\n [CARD.UNIONPAY]: /^(62[0-9]{14,17})$/,\n [CARD.VISA]: /^4[0-9]{12}(?:[0-9]{3})?$/,\n };\n\n for (const cardType in cardTypes) {\n if (card.replaceAll(' ', '').match(cardTypes[cardType])) {\n return cardType;\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAIC,IAAI,IAAK;EACnC,MAAM;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,4BAAa,EAACF,IAAI,CAAC;EAC9C,IAAI,CAACA,IAAI,IAAIC,SAAS,CAACD,IAAI,KAAKA,IAAI,CAACG,MAAM,EAAE;EAE7C,MAAMC,SAAS,GAAG;IAChB,CAACC,aAAI,CAACC,gBAAgB,GAAG,kBAAkB;IAC3C,CAACD,aAAI,CAACE,WAAW,GAAG,kCAAkC;IACtD,CAACF,aAAI,CAACG,QAAQ,GAAG,+BAA+B;IAChD,CAACH,aAAI,CAACI,GAAG,GAAG,+BAA+B;IAC3C,CAACJ,aAAI,CAACK,OAAO,GAAG,mDAAmD;IACnE,CAACL,aAAI,CAACM,UAAU,GAAG,qFAAqF;IACxG,CAACN,aAAI,CAACO,QAAQ,GAAG,oBAAoB;IACrC,CAACP,aAAI,CAACQ,IAAI,GAAG;EACf,CAAC;EAED,KAAK,MAAMC,QAAQ,IAAIV,SAAS,EAAE;IAChC,IAAIJ,IAAI,CAACe,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAACC,KAAK,CAACZ,SAAS,CAACU,QAAQ,CAAC,CAAC,EAAE;MACvD,OAAOA,QAAQ;IACjB;EACF;AACF,CAAC;AAACG,OAAA,CAAAlB,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"getCardType.js","names":["_getCardConfig","require","_Payment","getCardType","card","cards","arguments","length","undefined","maxLength","getCardConfig","cardTypes","CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","cardType","replaceAll","match","includes","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/getCardType.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { CARD } from '../../../Payment.constants';\n\nexport const getCardType = (card, cards = []) => {\n const { maxLength = {} } = getCardConfig(card);\n if (!card || maxLength.card !== card.length) return;\n\n const cardTypes = {\n [CARD.AMERICAN_EXPRESS]: /^3[47][0-9]{13}$/,\n [CARD.DINERS_CLUB]: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,\n [CARD.DISCOVER]: /^6(?:011|5[0-9]{2})[0-9]{12}$/,\n [CARD.JCB]: /^(?:2131|1800|35\\d{3})\\d{11}$/,\n [CARD.MAESTRO]: /^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$/,\n [CARD.MASTERCARD]: /^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$/,\n [CARD.UNIONPAY]: /^(62[0-9]{14,17})$/,\n [CARD.VISA]: /^4[0-9]{12}(?:[0-9]{3})?$/,\n };\n\n for (const cardType in cardTypes) {\n if (card.replaceAll(' ', '').match(cardTypes[cardType]) && cards.includes(cardType)) {\n return cardType;\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,SAAAA,CAACC,IAAI,EAAiB;EAAA,IAAfC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC1C,MAAM;IAAEG,SAAS,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,4BAAa,EAACN,IAAI,CAAC;EAC9C,IAAI,CAACA,IAAI,IAAIK,SAAS,CAACL,IAAI,KAAKA,IAAI,CAACG,MAAM,EAAE;EAE7C,MAAMI,SAAS,GAAG;IAChB,CAACC,aAAI,CAACC,gBAAgB,GAAG,kBAAkB;IAC3C,CAACD,aAAI,CAACE,WAAW,GAAG,kCAAkC;IACtD,CAACF,aAAI,CAACG,QAAQ,GAAG,+BAA+B;IAChD,CAACH,aAAI,CAACI,GAAG,GAAG,+BAA+B;IAC3C,CAACJ,aAAI,CAACK,OAAO,GAAG,mDAAmD;IACnE,CAACL,aAAI,CAACM,UAAU,GAAG,qFAAqF;IACxG,CAACN,aAAI,CAACO,QAAQ,GAAG,oBAAoB;IACrC,CAACP,aAAI,CAACQ,IAAI,GAAG;EACf,CAAC;EAED,KAAK,MAAMC,QAAQ,IAAIV,SAAS,EAAE;IAChC,IAAIP,IAAI,CAACkB,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAACC,KAAK,CAACZ,SAAS,CAACU,QAAQ,CAAC,CAAC,IAAIhB,KAAK,CAACmB,QAAQ,CAACH,QAAQ,CAAC,EAAE;MACnF,OAAOA,QAAQ;IACjB;EACF;AACF,CAAC;AAACI,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.testCard = void 0;
7
7
  var _formatValues = require("./formatValues");
8
- const testCard = card => !!(0, _formatValues.formatValues)({
8
+ const testCard = (card, cards) => !!(0, _formatValues.formatValues)({
9
9
  card
10
- }).type;
10
+ }, cards).type;
11
11
  exports.testCard = testCard;
12
12
  //# sourceMappingURL=testCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testCard.js","names":["_formatValues","require","testCard","card","formatValues","type","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/testCard.js"],"sourcesContent":["import { formatValues } from './formatValues';\n\nexport const testCard = (card) => !!formatValues({ card }).type;\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEO,MAAMC,QAAQ,GAAIC,IAAI,IAAK,CAAC,CAAC,IAAAC,0BAAY,EAAC;EAAED;AAAK,CAAC,CAAC,CAACE,IAAI;AAACC,OAAA,CAAAJ,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"file":"testCard.js","names":["_formatValues","require","testCard","card","cards","formatValues","type","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/testCard.js"],"sourcesContent":["import { formatValues } from './formatValues';\n\nexport const testCard = (card, cards) => !!formatValues({ card }, cards).type;\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEO,MAAMC,QAAQ,GAAGA,CAACC,IAAI,EAAEC,KAAK,KAAK,CAAC,CAAC,IAAAC,0BAAY,EAAC;EAAEF;AAAK,CAAC,EAAEC,KAAK,CAAC,CAACE,IAAI;AAACC,OAAA,CAAAL,QAAA,GAAAA,QAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.398",
3
+ "version": "0.3.400",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",