@mirai/core 0.3.274 → 0.3.276

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.
@@ -116,7 +116,7 @@ const Rates = _ref => {
116
116
  }, [dataSource, metaCart]);
117
117
  (0, _react.useEffect)(() => {
118
118
  if (!clubDiscount && !currency && !session && strictSearch === undefined) return;
119
- setCart([]);
119
+ !login && setCart([]);
120
120
  setRoom(undefined);
121
121
  debounceFetch();
122
122
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -196,14 +196,14 @@ const PCI = _ref => {
196
196
  }
197
197
  setFormError(error);
198
198
  };
199
- const handleEnter = field => setFocus({
199
+ const handleEnter = field => setFocus(focus => ({
200
200
  ...focus,
201
201
  [field]: true
202
- });
203
- const handleLeave = field => setFocus({
202
+ }));
203
+ const handleLeave = field => setFocus(focus => ({
204
204
  ...focus,
205
205
  [field]: false
206
- });
206
+ }));
207
207
  const handleError = function (field) {
208
208
  let {
209
209
  required,
@@ -1 +1 @@
1
- {"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","secureFields","PCI","_ref","_form$card","_form$name","_form$name2","_form$expire","_form$expire2","_form$cvv","cards","publicKey","process","env","METHOD_PCIPROXY_PUBLICKEY","showCVV","showErrors","onChange","onError","others","translate","useLocale","value","payment","useStore","focus","setFocus","useState","form","setForm","formError","setFormError","card","name","expire","cvv","undefined","ready","setReady","responseError","setResponseError","useEffect","exists","document","getElementById","SCRIPT_ID","script","createElement","id","src","METHOD_PCIPROXY_SCRIPT","onload","handleLoad","head","appendChild","_secureFields","el","parentNode","removeChild","destroy","SecureFields","initTokenize","cardNumber","getStyle","paymentMethods","entries","CARDS","filter","arguments","length","includes","map","key","_secureFields2","_secureFields3","_secureFields4","_secureFields5","on","handleChangeSecure","handleTokenError","handleReady","handleSuccess","addEventListener","EVENT_CTA_PRESS","handleButtonPress","keys","removeEventListener","type","fromEntries","_ref2","_ref3","month","year","split","submit","expm","expy","handleChange","field","formatValues","_ref4","fields","event","fieldName","handleEnter","handleLeave","isKeyUp","isCardEmpty","isCvvEmpty","error","valid","paymentMethod","format","required","handleError","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref5","transactionId","ERROR","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","concat","className","input","LABEL_CARD_NAME","Input","onEnter","onLeave","row","LABEL_EXPIRATION","maxLength","placeholder","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","LABEL_CVV","Notification","small","wide","NOTIFICATION_ERROR_PCI","exports","displayName","propTypes","PropTypes","array","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/PCI/PCI.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Input, Notification, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { formatValues, getStyle } from './helpers';\nimport { CARDS, ERROR, PLACEHOLDER_CARD, PLACEHOLDER_CVV, SCRIPT_ID } from './PCI.constants';\nimport { L10N } from './PCI.l10n';\nimport * as style from './PCI.module.css';\nimport { EVENT_CTA_PRESS } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { InputField } from '../../../ButtonPayment/components/InputField';\nimport { testExpire } from '../Card/helpers';\n\nlet secureFields;\n\nconst PCI = ({\n cards = [],\n publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { payment = {} } = {}, value, set } = useStore();\n\n const [focus, setFocus] = useState();\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({\n card: {},\n name: {},\n expire: {},\n ...(showCVV ? { cvv: {} } : undefined),\n });\n const [ready, setReady] = useState(false);\n const [responseError, setResponseError] = useState(false);\n\n useEffect(() => {\n const exists = document.getElementById(SCRIPT_ID);\n if (!exists) {\n const script = document.createElement('script');\n script.id = SCRIPT_ID;\n script.src = process.env.METHOD_PCIPROXY_SCRIPT;\n script.onload = handleLoad;\n\n document.head.appendChild(script);\n }\n\n return () => {\n const el = document.getElementById(SCRIPT_ID);\n el.parentNode.removeChild(el);\n secureFields?.destroy();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!ready) return;\n\n onError(formError);\n // eslint-disable-next-line no-undef\n secureFields = new SecureFields();\n secureFields.initTokenize(\n publicKey,\n { cardNumber: 'card', ...(showCVV ? { cvv: 'cvv' } : undefined) },\n {\n ...getStyle(),\n paymentMethods: Object.entries(CARDS)\n .filter(([, value] = []) => cards.includes(value))\n .map(([key] = []) => key),\n },\n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publicKey, ready]);\n\n useEffect(() => {\n secureFields?.on('change', handleChangeSecure);\n secureFields?.on('error', handleTokenError);\n secureFields?.on('ready', handleReady);\n secureFields?.on('success', handleSuccess);\n\n document.addEventListener(EVENT_CTA_PRESS, handleButtonPress);\n\n if (Object.keys(formError).length === 0) onError({});\n\n return () => document.removeEventListener(EVENT_CTA_PRESS, handleButtonPress);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus, form, formError, ready, responseError, value]);\n\n useEffect(() => {\n onChange({ expire: form.expire, name: form.name, type: form.type });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.fromEntries(Object.entries(formError).filter(([, value]) => value !== undefined)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError, responseError]);\n\n const handleButtonPress = () => {\n if (Object.entries(formError).filter(([, value]) => value !== undefined).length > 0) return;\n\n setResponseError();\n const [month, year] = form.expire.split('/');\n secureFields.submit({ expm: month, expy: year });\n };\n\n const handleChange = (field, value = '') => {\n setResponseError();\n\n const { expire, name } = formatValues({ ...{ expire: form.expire, name: form.name }, [field]: value }, form);\n setForm({ ...form, expire, name });\n };\n\n const handleChangeSecure = ({ fields: { cardNumber = {}, cvv = {} } = {}, event: { type, field } = {} }) => {\n const fieldName = field === 'cardNumber' ? 'card' : field;\n if (type === 'focus') return handleEnter(fieldName);\n if (type === 'blur') return handleLeave(fieldName);\n\n const isKeyUp = type === 'keyUp';\n const isCardEmpty = fieldName === 'cardNumber' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = fieldName === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isKeyUp || (isKeyUp && (isCardEmpty || isCvvEmpty))) return;\n\n setResponseError();\n\n const error = { ...formError };\n if (fieldName === 'card') {\n setForm({ ...form, card: cardNumber, type: cardNumber.valid ? CARDS[cardNumber.paymentMethod] : undefined });\n error.card =\n !cardNumber.valid && cardNumber.length > 0\n ? { format: true }\n : cardNumber.length === 0\n ? { required: true }\n : undefined;\n } else if (fieldName === 'cvv') {\n setForm({ ...form, cvv });\n error.cvv = !cvv.valid && cvv.length > 0 ? { format: true } : cvv.length === 0 ? { required: true } : undefined;\n }\n\n setFormError(error);\n };\n\n const handleEnter = (field) => setFocus({ ...focus, [field]: true });\n\n const handleLeave = (field) => setFocus({ ...focus, [field]: false });\n\n const handleError = (field, { required, test } = {}) => {\n if (!ready) return;\n\n setFormError((formError) => ({\n ...formError,\n ...{ [field]: required ? { required: true } : test ? { format: true } : undefined },\n }));\n };\n\n const handleLoad = () => {\n setReady(true);\n };\n\n const handleReady = () => {\n secureFields.setPlaceholder('cardNumber', PLACEHOLDER_CARD);\n showCVV && secureFields.setPlaceholder('cvv', PLACEHOLDER_CVV);\n };\n\n const handleSuccess = ({ transactionId }) => {\n set({ payment: { ...payment, transactionId } });\n };\n\n const handleTokenError = () => {\n setResponseError(ERROR);\n set({ payment: { ...payment, error: ERROR } });\n };\n\n const { testId } = others;\n\n return (\n <View {...others}>\n <Text action>{translate(L10N.LABEL_SECURE_PAGE)}</Text>\n\n <InputField\n id=\"checkout-card\"\n error={(showErrors && (!form.card || form.card?.length === 0)) || Object.keys(formError.card || {}).length > 0}\n focus={focus?.card}\n label={translate(L10N.LABEL_CARD_NUMBER)}\n showRequired\n success={!formError.card}\n value={form.card}\n testId={testId ? `${testId}-PCI-card` : undefined}\n >\n <div id=\"card\" className={style.input} />\n </InputField>\n <InputField\n error={(showErrors && (!form.name || form.name?.length === 0)) || Object.keys(formError.name || {}).length > 0}\n focus={focus?.name}\n label={translate(L10N.LABEL_CARD_NAME)}\n showRequired\n success={form.name?.length > 0 && !formError.name}\n value={form.name}\n testId={testId ? `${testId}-PCI-name` : undefined}\n >\n <Input\n id=\"checkout-name\"\n name=\"name\"\n required\n value={form.name}\n onChange={(value) => handleChange('name', value)}\n onEnter={() => handleEnter('name')}\n onError={(error) => handleError('name', error)}\n onLeave={() => handleLeave('name')}\n />\n </InputField>\n <View row>\n <InputField\n error={\n (showErrors && (!form.expire || form.expire?.length === 0)) ||\n Object.keys(formError.expire || {}).length > 0\n }\n focus={focus?.expire}\n label={translate(L10N.LABEL_EXPIRATION)}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n value={form.expire}\n className={style.expire}\n testId={testId ? `${testId}-PCI-expire` : undefined}\n >\n <Input\n id=\"checkout-expire\"\n maxLength={5}\n name=\"expire\"\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n test={(expire) => expire.length === 0 || (expire?.length > 0 && testExpire(expire))}\n value={form.expire}\n onChange={(value) => handleChange('expire', value)}\n onEnter={() => handleEnter('expire')}\n onError={(error) => handleError('expire', error)}\n onLeave={() => handleLeave('expire')}\n />\n </InputField>\n {showCVV && (\n <InputField\n id=\"checkout-cvv\"\n error={(showErrors && (!form.cvv || form.cvv?.length === 0)) || Object.keys(formError.cvv || {}).length > 0}\n focus={focus?.cvv}\n label={translate(L10N.LABEL_CVV)}\n showRequired\n success={!formError.cvv}\n value={form.cvv}\n className={style.cvv}\n testId={testId ? `${testId}-PCI-CVV` : undefined}\n >\n <div id=\"cvv\" className={style.input} />\n </InputField>\n )}\n </View>\n\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_PCI)}\n </Notification>\n )}\n </View>\n );\n};\n\nPCI.displayName = 'Mirai:Payments:PCI';\n\nPCI.propTypes = {\n cards: PropTypes.array,\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { PCI };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","secureFields","PCI","_ref","_form$card","_form$name","_form$name2","_form$expire","_form$expire2","_form$cvv","cards","publicKey","process","env","METHOD_PCIPROXY_PUBLICKEY","showCVV","showErrors","onChange","onError","others","translate","useLocale","value","payment","useStore","focus","setFocus","useState","form","setForm","formError","setFormError","card","name","expire","cvv","undefined","ready","setReady","responseError","setResponseError","useEffect","exists","document","getElementById","SCRIPT_ID","script","createElement","id","src","METHOD_PCIPROXY_SCRIPT","onload","handleLoad","head","appendChild","_secureFields","el","parentNode","removeChild","destroy","SecureFields","initTokenize","cardNumber","getStyle","paymentMethods","entries","CARDS","filter","arguments","length","includes","map","key","_secureFields2","_secureFields3","_secureFields4","_secureFields5","on","handleChangeSecure","handleTokenError","handleReady","handleSuccess","addEventListener","EVENT_CTA_PRESS","handleButtonPress","keys","removeEventListener","type","fromEntries","_ref2","_ref3","month","year","split","submit","expm","expy","handleChange","field","formatValues","_ref4","fields","event","fieldName","handleEnter","handleLeave","isKeyUp","isCardEmpty","isCvvEmpty","error","valid","paymentMethod","format","required","handleError","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref5","transactionId","ERROR","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","concat","className","input","LABEL_CARD_NAME","Input","onEnter","onLeave","row","LABEL_EXPIRATION","maxLength","placeholder","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","LABEL_CVV","Notification","small","wide","NOTIFICATION_ERROR_PCI","exports","displayName","propTypes","PropTypes","array","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/PCI/PCI.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Input, Notification, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { formatValues, getStyle } from './helpers';\nimport { CARDS, ERROR, PLACEHOLDER_CARD, PLACEHOLDER_CVV, SCRIPT_ID } from './PCI.constants';\nimport { L10N } from './PCI.l10n';\nimport * as style from './PCI.module.css';\nimport { EVENT_CTA_PRESS } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { InputField } from '../../../ButtonPayment/components/InputField';\nimport { testExpire } from '../Card/helpers';\n\nlet secureFields;\n\nconst PCI = ({\n cards = [],\n publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { payment = {} } = {}, value, set } = useStore();\n\n const [focus, setFocus] = useState();\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({\n card: {},\n name: {},\n expire: {},\n ...(showCVV ? { cvv: {} } : undefined),\n });\n const [ready, setReady] = useState(false);\n const [responseError, setResponseError] = useState(false);\n\n useEffect(() => {\n const exists = document.getElementById(SCRIPT_ID);\n if (!exists) {\n const script = document.createElement('script');\n script.id = SCRIPT_ID;\n script.src = process.env.METHOD_PCIPROXY_SCRIPT;\n script.onload = handleLoad;\n\n document.head.appendChild(script);\n }\n\n return () => {\n const el = document.getElementById(SCRIPT_ID);\n el.parentNode.removeChild(el);\n secureFields?.destroy();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!ready) return;\n\n onError(formError);\n // eslint-disable-next-line no-undef\n secureFields = new SecureFields();\n secureFields.initTokenize(\n publicKey,\n { cardNumber: 'card', ...(showCVV ? { cvv: 'cvv' } : undefined) },\n {\n ...getStyle(),\n paymentMethods: Object.entries(CARDS)\n .filter(([, value] = []) => cards.includes(value))\n .map(([key] = []) => key),\n },\n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publicKey, ready]);\n\n useEffect(() => {\n secureFields?.on('change', handleChangeSecure);\n secureFields?.on('error', handleTokenError);\n secureFields?.on('ready', handleReady);\n secureFields?.on('success', handleSuccess);\n\n document.addEventListener(EVENT_CTA_PRESS, handleButtonPress);\n\n if (Object.keys(formError).length === 0) onError({});\n\n return () => document.removeEventListener(EVENT_CTA_PRESS, handleButtonPress);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus, form, formError, ready, responseError, value]);\n\n useEffect(() => {\n onChange({ expire: form.expire, name: form.name, type: form.type });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.fromEntries(Object.entries(formError).filter(([, value]) => value !== undefined)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError, responseError]);\n\n const handleButtonPress = () => {\n if (Object.entries(formError).filter(([, value]) => value !== undefined).length > 0) return;\n\n setResponseError();\n const [month, year] = form.expire.split('/');\n secureFields.submit({ expm: month, expy: year });\n };\n\n const handleChange = (field, value = '') => {\n setResponseError();\n\n const { expire, name } = formatValues({ ...{ expire: form.expire, name: form.name }, [field]: value }, form);\n setForm({ ...form, expire, name });\n };\n\n const handleChangeSecure = ({ fields: { cardNumber = {}, cvv = {} } = {}, event: { type, field } = {} }) => {\n const fieldName = field === 'cardNumber' ? 'card' : field;\n if (type === 'focus') return handleEnter(fieldName);\n if (type === 'blur') return handleLeave(fieldName);\n\n const isKeyUp = type === 'keyUp';\n const isCardEmpty = fieldName === 'cardNumber' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = fieldName === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isKeyUp || (isKeyUp && (isCardEmpty || isCvvEmpty))) return;\n\n setResponseError();\n\n const error = { ...formError };\n if (fieldName === 'card') {\n setForm({ ...form, card: cardNumber, type: cardNumber.valid ? CARDS[cardNumber.paymentMethod] : undefined });\n error.card =\n !cardNumber.valid && cardNumber.length > 0\n ? { format: true }\n : cardNumber.length === 0\n ? { required: true }\n : undefined;\n } else if (fieldName === 'cvv') {\n setForm({ ...form, cvv });\n error.cvv = !cvv.valid && cvv.length > 0 ? { format: true } : cvv.length === 0 ? { required: true } : undefined;\n }\n\n setFormError(error);\n };\n\n const handleEnter = (field) => setFocus((focus) => ({ ...focus, [field]: true }));\n\n const handleLeave = (field) => setFocus((focus) => ({ ...focus, [field]: false }));\n\n const handleError = (field, { required, test } = {}) => {\n if (!ready) return;\n\n setFormError((formError) => ({\n ...formError,\n ...{ [field]: required ? { required: true } : test ? { format: true } : undefined },\n }));\n };\n\n const handleLoad = () => {\n setReady(true);\n };\n\n const handleReady = () => {\n secureFields.setPlaceholder('cardNumber', PLACEHOLDER_CARD);\n showCVV && secureFields.setPlaceholder('cvv', PLACEHOLDER_CVV);\n };\n\n const handleSuccess = ({ transactionId }) => {\n set({ payment: { ...payment, transactionId } });\n };\n\n const handleTokenError = () => {\n setResponseError(ERROR);\n set({ payment: { ...payment, error: ERROR } });\n };\n\n const { testId } = others;\n\n return (\n <View {...others}>\n <Text action>{translate(L10N.LABEL_SECURE_PAGE)}</Text>\n\n <InputField\n id=\"checkout-card\"\n error={(showErrors && (!form.card || form.card?.length === 0)) || Object.keys(formError.card || {}).length > 0}\n focus={focus?.card}\n label={translate(L10N.LABEL_CARD_NUMBER)}\n showRequired\n success={!formError.card}\n value={form.card}\n testId={testId ? `${testId}-PCI-card` : undefined}\n >\n <div id=\"card\" className={style.input} />\n </InputField>\n <InputField\n error={(showErrors && (!form.name || form.name?.length === 0)) || Object.keys(formError.name || {}).length > 0}\n focus={focus?.name}\n label={translate(L10N.LABEL_CARD_NAME)}\n showRequired\n success={form.name?.length > 0 && !formError.name}\n value={form.name}\n testId={testId ? `${testId}-PCI-name` : undefined}\n >\n <Input\n id=\"checkout-name\"\n name=\"name\"\n required\n value={form.name}\n onChange={(value) => handleChange('name', value)}\n onEnter={() => handleEnter('name')}\n onError={(error) => handleError('name', error)}\n onLeave={() => handleLeave('name')}\n />\n </InputField>\n <View row>\n <InputField\n error={\n (showErrors && (!form.expire || form.expire?.length === 0)) ||\n Object.keys(formError.expire || {}).length > 0\n }\n focus={focus?.expire}\n label={translate(L10N.LABEL_EXPIRATION)}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n value={form.expire}\n className={style.expire}\n testId={testId ? `${testId}-PCI-expire` : undefined}\n >\n <Input\n id=\"checkout-expire\"\n maxLength={5}\n name=\"expire\"\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n test={(expire) => expire.length === 0 || (expire?.length > 0 && testExpire(expire))}\n value={form.expire}\n onChange={(value) => handleChange('expire', value)}\n onEnter={() => handleEnter('expire')}\n onError={(error) => handleError('expire', error)}\n onLeave={() => handleLeave('expire')}\n />\n </InputField>\n {showCVV && (\n <InputField\n id=\"checkout-cvv\"\n error={(showErrors && (!form.cvv || form.cvv?.length === 0)) || Object.keys(formError.cvv || {}).length > 0}\n focus={focus?.cvv}\n label={translate(L10N.LABEL_CVV)}\n showRequired\n success={!formError.cvv}\n value={form.cvv}\n className={style.cvv}\n testId={testId ? `${testId}-PCI-CVV` : undefined}\n >\n <div id=\"cvv\" className={style.input} />\n </InputField>\n )}\n </View>\n\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_PCI)}\n </Notification>\n )}\n </View>\n );\n};\n\nPCI.displayName = 'Mirai:Payments:PCI';\n\nPCI.propTypes = {\n cards: PropTypes.array,\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { PCI };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.274",
3
+ "version": "0.3.276",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",