@mirai/core 0.4.282 → 0.4.284

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.
@@ -53,6 +53,7 @@ const Chat = _ref => {
53
53
  const [messages, setMessages] = (0, _react.useState)([]);
54
54
  const [online, setOnline] = (0, _react.useState)(false);
55
55
  const [visible, setVisible] = (0, _react.useState)(false);
56
+ const [welcome, setWelcome] = (0, _react.useState)();
56
57
  (0, _react.useEffect)(() => {
57
58
  if (skeleton || Object.keys(components).some(item => _Chat.BANNED_COMPONENTS.includes(item))) return;
58
59
  const nextConfig = process.env.NODE_ENV === 'production' ? _services.ServiceFeatures.get('lisa', id) : {};
@@ -60,26 +61,29 @@ const Chat = _ref => {
60
61
  setConfig(nextConfig);
61
62
  (async () => {
62
63
  if (!(await handleOnline())) return;
63
- const response = await _services.ServiceLisa.welcome({
64
+ setWelcome(await _services.ServiceLisa.welcome({
64
65
  context: {
65
66
  club,
66
67
  hotel
67
68
  },
68
69
  locale,
69
70
  session
70
- }).catch(handleError);
71
- if (response) {
72
- if (!messages.length) return addMessage({
73
- ...response,
74
- timestamp: new Date().getTime()
75
- }, messages);
76
- set({
77
- lisa: messages[messages.length - 1]
78
- });
79
- }
71
+ }).catch(handleError));
80
72
  })();
73
+
81
74
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
75
  }, [skeleton]);
76
+ (0, _react.useEffect)(() => {
77
+ if (!welcome) return;
78
+ if (!messages.length) return addMessage({
79
+ ...welcome,
80
+ timestamp: new Date().getTime()
81
+ }, messages);
82
+ set({
83
+ lisa: messages[messages.length - 1]
84
+ });
85
+ // eslint-disable-next-line react-hooks/exhaustive-deps
86
+ }, [welcome]);
83
87
  (0, _react.useEffect)(() => {
84
88
  if (stateSession) session = stateSession;
85
89
  }, [stateSession]);
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","session","Chat","_ref","others","translate","useLocale","value","calendar","club","components","currency","hotel","id","locale","occupation","origin","stateSession","skeleton","tags","type","useStore","busy","setBusy","useState","config","setConfig","setError","messages","setMessages","online","setOnline","visible","setVisible","useEffect","keys","some","item","BANNED_COMPONENTS","includes","nextConfig","process","env","NODE_ENV","ServiceFeatures","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","timestamp","Date","getTime","lisa","clearInterval","setInterval","storeContext","filter","_ref2","storage","intent","text","slice","map","_ref3","form","next","status","handleInput","input","auto","undefined","nextMessages","setTimeout","_messages$filter$slic","_messages$filter$slic2","currentForm","_ref4","message","DELAY_RESPONSE","handleAction","nextContext","action","handleRetry","pop","error","notify","Event","publish","EVENT","INTENT_LOCALE","audioNotification","welcomeMessage","chatMessages","_ref5","createElement","Fragment","Modal","fit","className","styles","container","Header","onClose","Welcome","onInput","ScrollView","scrollTo","snap","index","_chatMessages","Message","concat","disabled","onAction","onRetry","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","ButtonDispatcher","ready","onPress","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\nlet session;\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: {\n calendar,\n club,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session: stateSession,\n skeleton = false,\n tags,\n type,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [config, setConfig] = useState();\n const [, setError] = useState();\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton || Object.keys(components).some((item) => BANNED_COMPONENTS.includes(item))) return;\n\n const nextConfig = process.env.NODE_ENV === 'production' ? ServiceFeatures.get('lisa', id) : {};\n if (!nextConfig) return;\n setConfig(nextConfig);\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { club, hotel }, locale, session }).catch(handleError);\n if (response) {\n if (!messages.length) return addMessage({ ...response, timestamp: new Date().getTime() }, messages);\n set({ lisa: messages[messages.length - 1] });\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (stateSession) session = stateSession;\n }, [stateSession]);\n\n useEffect(() => {\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n let storeContext = {\n calendar,\n club,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n return next;\n };\n\n const handleInput = (input, auto = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const currentForm = messages.filter(({ storage }) => !storage).slice(-1)[0]?.response?.form;\n\n storeContext = { ...storeContext, form: currentForm };\n const response = await ServiceLisa.message({ auto, context: storeContext, input, locale, session }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent, text } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const nextMessages = [...messages, { auto: false, text }];\n\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const handleError = (error) => {\n setError(error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter(({ auto = false } = {}) => auto).pop() || [];\n const [welcomeMessage = {}, ...chatMessages] = messages.filter(({ auto, text }) => !(!auto && !text));\n\n return !skeleton && !!config ? (\n <>\n <Modal {...others} fit visible={visible} className={styles(style.container, others.className)}>\n <Header config={config} onClose={() => setVisible(false)} />\n\n {!chatMessages.length ? (\n <Welcome {...welcomeMessage.response} onInput={handleInput} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {chatMessages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < chatMessages.length - 1}\n onAction={handleAction}\n onRetry={index === chatMessages.length - 1 && chatMessages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n <Input disabled={busy} form={form} onValue={handleInput} className={style.input} />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: 'Lisa' })}\n </Text>\n </Modal>\n\n <ButtonDispatcher\n {...{ config, welcomeMessage }}\n ready={!!messages.length}\n visible={visible}\n onPress={() => setVisible(true)}\n />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","session","Chat","_ref","others","translate","useLocale","value","calendar","club","components","currency","hotel","id","locale","occupation","origin","stateSession","skeleton","tags","type","useStore","busy","setBusy","useState","config","setConfig","setError","messages","setMessages","online","setOnline","visible","setVisible","welcome","setWelcome","useEffect","keys","some","item","BANNED_COMPONENTS","includes","nextConfig","process","env","NODE_ENV","ServiceFeatures","handleOnline","ServiceLisa","context","catch","handleError","addMessage","timestamp","Date","getTime","lisa","clearInterval","setInterval","storeContext","filter","_ref2","storage","intent","text","slice","map","_ref3","response","form","next","status","handleInput","input","auto","undefined","nextMessages","setTimeout","_messages$filter$slic","_messages$filter$slic2","currentForm","_ref4","message","DELAY_RESPONSE","handleAction","nextContext","action","handleRetry","pop","error","notify","Event","publish","EVENT","INTENT_LOCALE","audioNotification","welcomeMessage","chatMessages","_ref5","createElement","Fragment","Modal","fit","className","styles","container","Header","onClose","Welcome","onInput","ScrollView","scrollTo","snap","index","_chatMessages","Message","concat","disabled","onAction","onRetry","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","ButtonDispatcher","ready","onPress","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\nlet session;\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: {\n calendar,\n club,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session: stateSession,\n skeleton = false,\n tags,\n type,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [config, setConfig] = useState();\n const [, setError] = useState();\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [visible, setVisible] = useState(false);\n const [welcome, setWelcome] = useState();\n\n useEffect(() => {\n if (skeleton || Object.keys(components).some((item) => BANNED_COMPONENTS.includes(item))) return;\n\n const nextConfig = process.env.NODE_ENV === 'production' ? ServiceFeatures.get('lisa', id) : {};\n if (!nextConfig) return;\n setConfig(nextConfig);\n\n (async () => {\n if (!(await handleOnline())) return;\n\n setWelcome(await ServiceLisa.welcome({ context: { club, hotel }, locale, session }).catch(handleError));\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (!welcome) return;\n\n if (!messages.length) return addMessage({ ...welcome, timestamp: new Date().getTime() }, messages);\n set({ lisa: messages[messages.length - 1] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [welcome]);\n\n useEffect(() => {\n if (stateSession) session = stateSession;\n }, [stateSession]);\n\n useEffect(() => {\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n let storeContext = {\n calendar,\n club,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n return next;\n };\n\n const handleInput = (input, auto = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const currentForm = messages.filter(({ storage }) => !storage).slice(-1)[0]?.response?.form;\n\n storeContext = { ...storeContext, form: currentForm };\n const response = await ServiceLisa.message({ auto, context: storeContext, input, locale, session }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent, text } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const nextMessages = [...messages, { auto: false, text }];\n\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const handleError = (error) => {\n setError(error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter(({ auto = false } = {}) => auto).pop() || [];\n const [welcomeMessage = {}, ...chatMessages] = messages.filter(({ auto, text }) => !(!auto && !text));\n\n return !skeleton && !!config ? (\n <>\n <Modal {...others} fit visible={visible} className={styles(style.container, others.className)}>\n <Header config={config} onClose={() => setVisible(false)} />\n\n {!chatMessages.length ? (\n <Welcome {...welcomeMessage.response} onInput={handleInput} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {chatMessages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < chatMessages.length - 1}\n onAction={handleAction}\n onRetry={index === chatMessages.length - 1 && chatMessages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n <Input disabled={busy} form={form} onValue={handleInput} className={style.input} />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: 'Lisa' })}\n </Text>\n </Modal>\n\n <ButtonDispatcher\n {...{ config, welcomeMessage }}\n ready={!!messages.length}\n visible={visible}\n onPress={() => setVisible(true)}\n />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
@@ -243,7 +243,7 @@ const Rates = _ref => {
243
243
  } = (0, _locale.dateDiff)(calendar[0], calendar[1]);
244
244
  const metrics = {
245
245
  // -- type
246
- meta: !!metaBoard,
246
+ meta: !!urlParams.rates,
247
247
  availableRooms: (_dataSource$items = dataSource.items) === null || _dataSource$items === void 0 ? void 0 : _dataSource$items.filter(_ref2 => {
248
248
  let {
249
249
  availability
@@ -278,7 +278,7 @@ const Rates = _ref => {
278
278
  dataSource,
279
279
  extras,
280
280
  forwarder,
281
- meta: !!metaBoard,
281
+ meta: !!urlParams.rates,
282
282
  session,
283
283
  urlParams: {
284
284
  ...(0, _helpers2.fetchUrlParams)(location.search),
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\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 Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\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 = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!metaBoard,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!metaBoard,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\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 if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\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 <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\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","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\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 Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\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 = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!urlParams.rates,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\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 if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\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 <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -15,7 +15,7 @@ const getBoard = function () {
15
15
  ...total,
16
16
  [item]: (total[item] || 0) + 1
17
17
  }), {});
18
- const getBoard = id => dataSource.items.map(_ref => {
18
+ const findBoard = id => dataSource.items.map(_ref => {
19
19
  let {
20
20
  boards = [],
21
21
  name: roomName
@@ -26,10 +26,10 @@ const getBoard = function () {
26
26
  }));
27
27
  }).flat().find(board => board.id === id);
28
28
  const validStoreCart = storeCart.filter(id => {
29
- var _getBoard, _getBoard2;
30
- return counts[id] >= ((_getBoard = getBoard(id)) === null || _getBoard === void 0 ? void 0 : _getBoard.minSelected) && counts[id] <= ((_getBoard2 = getBoard(id)) === null || _getBoard2 === void 0 ? void 0 : _getBoard2.maxSelected);
29
+ var _findBoard, _findBoard2;
30
+ return counts[id] >= ((_findBoard = findBoard(id)) === null || _findBoard === void 0 ? void 0 : _findBoard.minSelected) && counts[id] <= ((_findBoard2 = findBoard(id)) === null || _findBoard2 === void 0 ? void 0 : _findBoard2.maxSelected);
31
31
  });
32
- if (storeCart.length === cart.length || validStoreCart.length != storeCart.length) return reject();else return resolve(storeCart.map(id => getBoard(id)).find(function () {
32
+ if (storeCart.length === cart.length || validStoreCart.length != storeCart.length) return reject();else return resolve(storeCart.map(id => findBoard(id)).find(function () {
33
33
  let {
34
34
  id
35
35
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"file":"getBoard.js","names":["getBoard","cart","dataSource","storeCart","arguments","length","undefined","Promise","resolve","reject","counts","reduce","total","item","id","items","map","_ref","boards","name","roomName","board","flat","find","validStoreCart","filter","_getBoard","_getBoard2","minSelected","maxSelected","exports"],"sources":["../../../../src/components/Rates/helpers/getBoard.js"],"sourcesContent":["export const getBoard = ({ cart = [], dataSource, storeCart = [] } = {}) =>\n new Promise((resolve, reject) => {\n const counts = storeCart.reduce((total, item) => ({ ...total, [item]: (total[item] || 0) + 1 }), {});\n\n const getBoard = (id) =>\n dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat()\n .find((board) => board.id === id);\n\n const validStoreCart = storeCart.filter(\n (id) => counts[id] >= getBoard(id)?.minSelected && counts[id] <= getBoard(id)?.maxSelected,\n );\n\n if (storeCart.length === cart.length || validStoreCart.length != storeCart.length) return reject();\n else return resolve(storeCart.map((id) => getBoard(id)).find(({ id } = {}) => !!id));\n });\n"],"mappings":";;;;;;AAAO,MAAMA,QAAQ,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,IAAI,GAAG,EAAE;IAAEC,UAAU;IAAEC,SAAS,GAAG;EAAG,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACrE,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC/B,MAAMC,MAAM,GAAGP,SAAS,CAACQ,MAAM,CAAC,CAACC,KAAK,EAAEC,IAAI,MAAM;MAAE,GAAGD,KAAK;MAAE,CAACC,IAAI,GAAG,CAACD,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC,IAAI;IAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpG,MAAMb,QAAQ,GAAIc,EAAE,IAClBZ,UAAU,CAACa,KAAK,CACbC,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC,MAAM,GAAG,EAAE;QAAEC,IAAI,EAAEC;MAAS,CAAC,GAAAH,IAAA;MAAA,OAAKC,MAAM,CAACF,GAAG,CAAEK,KAAK,KAAM;QAAE,GAAGA,KAAK;QAAED;MAAS,CAAC,CAAC,CAAC;IAAA,EAAC,CACzFE,IAAI,CAAC,CAAC,CACNC,IAAI,CAAEF,KAAK,IAAKA,KAAK,CAACP,EAAE,KAAKA,EAAE,CAAC;IAErC,MAAMU,cAAc,GAAGrB,SAAS,CAACsB,MAAM,CACpCX,EAAE;MAAA,IAAAY,SAAA,EAAAC,UAAA;MAAA,OAAKjB,MAAM,CAACI,EAAE,CAAC,MAAAY,SAAA,GAAI1B,QAAQ,CAACc,EAAE,CAAC,cAAAY,SAAA,uBAAZA,SAAA,CAAcE,WAAW,KAAIlB,MAAM,CAACI,EAAE,CAAC,MAAAa,UAAA,GAAI3B,QAAQ,CAACc,EAAE,CAAC,cAAAa,UAAA,uBAAZA,UAAA,CAAcE,WAAW;IAAA,CAC5F,CAAC;IAED,IAAI1B,SAAS,CAACE,MAAM,KAAKJ,IAAI,CAACI,MAAM,IAAImB,cAAc,CAACnB,MAAM,IAAIF,SAAS,CAACE,MAAM,EAAE,OAAOI,MAAM,CAAC,CAAC,CAAC,KAC9F,OAAOD,OAAO,CAACL,SAAS,CAACa,GAAG,CAAEF,EAAE,IAAKd,QAAQ,CAACc,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC;MAAA,IAAC;QAAET;MAAG,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,CAAC,CAACU,EAAE;IAAA,EAAC,CAAC;EACtF,CAAC,CAAC;AAAA;AAACgB,OAAA,CAAA9B,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"file":"getBoard.js","names":["getBoard","cart","dataSource","storeCart","arguments","length","undefined","Promise","resolve","reject","counts","reduce","total","item","findBoard","id","items","map","_ref","boards","name","roomName","board","flat","find","validStoreCart","filter","_findBoard","_findBoard2","minSelected","maxSelected","exports"],"sources":["../../../../src/components/Rates/helpers/getBoard.js"],"sourcesContent":["export const getBoard = ({ cart = [], dataSource, storeCart = [] } = {}) =>\n new Promise((resolve, reject) => {\n const counts = storeCart.reduce((total, item) => ({ ...total, [item]: (total[item] || 0) + 1 }), {});\n\n const findBoard = (id) =>\n dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat()\n .find((board) => board.id === id);\n\n const validStoreCart = storeCart.filter(\n (id) => counts[id] >= findBoard(id)?.minSelected && counts[id] <= findBoard(id)?.maxSelected,\n );\n\n if (storeCart.length === cart.length || validStoreCart.length != storeCart.length) return reject();\n else return resolve(storeCart.map((id) => findBoard(id)).find(({ id } = {}) => !!id));\n });\n"],"mappings":";;;;;;AAAO,MAAMA,QAAQ,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,IAAI,GAAG,EAAE;IAAEC,UAAU;IAAEC,SAAS,GAAG;EAAG,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACrE,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC/B,MAAMC,MAAM,GAAGP,SAAS,CAACQ,MAAM,CAAC,CAACC,KAAK,EAAEC,IAAI,MAAM;MAAE,GAAGD,KAAK;MAAE,CAACC,IAAI,GAAG,CAACD,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC,IAAI;IAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpG,MAAMC,SAAS,GAAIC,EAAE,IACnBb,UAAU,CAACc,KAAK,CACbC,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC,MAAM,GAAG,EAAE;QAAEC,IAAI,EAAEC;MAAS,CAAC,GAAAH,IAAA;MAAA,OAAKC,MAAM,CAACF,GAAG,CAAEK,KAAK,KAAM;QAAE,GAAGA,KAAK;QAAED;MAAS,CAAC,CAAC,CAAC;IAAA,EAAC,CACzFE,IAAI,CAAC,CAAC,CACNC,IAAI,CAAEF,KAAK,IAAKA,KAAK,CAACP,EAAE,KAAKA,EAAE,CAAC;IAErC,MAAMU,cAAc,GAAGtB,SAAS,CAACuB,MAAM,CACpCX,EAAE;MAAA,IAAAY,UAAA,EAAAC,WAAA;MAAA,OAAKlB,MAAM,CAACK,EAAE,CAAC,MAAAY,UAAA,GAAIb,SAAS,CAACC,EAAE,CAAC,cAAAY,UAAA,uBAAbA,UAAA,CAAeE,WAAW,KAAInB,MAAM,CAACK,EAAE,CAAC,MAAAa,WAAA,GAAId,SAAS,CAACC,EAAE,CAAC,cAAAa,WAAA,uBAAbA,WAAA,CAAeE,WAAW;IAAA,CAC9F,CAAC;IAED,IAAI3B,SAAS,CAACE,MAAM,KAAKJ,IAAI,CAACI,MAAM,IAAIoB,cAAc,CAACpB,MAAM,IAAIF,SAAS,CAACE,MAAM,EAAE,OAAOI,MAAM,CAAC,CAAC,CAAC,KAC9F,OAAOD,OAAO,CAACL,SAAS,CAACc,GAAG,CAAEF,EAAE,IAAKD,SAAS,CAACC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC;MAAA,IAAC;QAAET;MAAG,CAAC,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,CAAC,CAACW,EAAE;IAAA,EAAC,CAAC;EACvF,CAAC,CAAC;AAAA;AAACgB,OAAA,CAAA/B,QAAA,GAAAA,QAAA"}
@@ -130,12 +130,17 @@ const useRates = () => {
130
130
  set({
131
131
  rates: undefined
132
132
  });
133
- }).catch(() => set({
134
- rates: undefined
135
- }));
133
+ }).catch(() => {
134
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
135
+ id: 'RATES:META:ERROR'
136
+ });
137
+ set({
138
+ rates: undefined
139
+ });
140
+ });
136
141
 
137
142
  // eslint-disable-next-line react-hooks/exhaustive-deps
138
- }, [dataSource, storeCart]);
143
+ }, [dataSource]);
139
144
  (0, _react.useEffect)(() => {
140
145
  if (!clubDiscount && !currency && !session && strictSearch === undefined) return;
141
146
  !clubRate && setCart([]);
@@ -1 +1 @@
1
- {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","value","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","device","multiRoom","length","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","arguments","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n room !== undefined && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n clubRate && setClubRate(false);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: dataSource || responseError,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, storeCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && 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\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\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 currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","value","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","device","multiRoom","length","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","arguments","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n room !== undefined && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n clubRate && setClubRate(false);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: dataSource || responseError,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && 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\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\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 currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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"}
@@ -47,9 +47,10 @@ const OccupationGroup = _ref => {
47
47
  const handleAge = function () {
48
48
  let nextAge = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
49
49
  let index = arguments.length > 1 ? arguments[1] : undefined;
50
- ages[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;
50
+ const nextAges = [...ages];
51
+ nextAges[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;
51
52
  onChange({
52
- ages,
53
+ ages: nextAges,
53
54
  amount,
54
55
  type
55
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Occupation.Group.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OccupationGroup","_ref","age","fulfill","max","min","type","TYPE","ADULT","value","onChange","others","translate","useLocale","useEffect","amount","ages","handleAmount","nextAmount","pop","push","undefined","handleAge","nextAge","index","parseInt","createElement","Fragment","InputNumber","hint","getAgeRange","label","L10N","LABEL_OCCUPATION_TYPE","adults","children","guests","name","concat","rounded","step","className","styles","inputNumber","offset","testId","View","row","inputs","Array","from","_","_ages$index","InputSelect","getAgeOptions","error","toString","inputSelect","CHILD","INFANT","includes","Text","light","small","LABEL_AGE_HINT","exports","displayName","propTypes","PropTypes","arrayOf","number","bool","isRequired","shape","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.Group.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputNumber, InputSelect, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getAgeOptions } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { getAgeRange } from '../../helpers';\n\nconst OccupationGroup = ({\n age = [],\n fulfill = false,\n max,\n min = 0,\n type = TYPE.ADULT,\n value = {},\n onChange = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n useEffect(() => {}, []);\n\n const { amount, ages = [] } = value;\n\n const handleAmount = (nextAmount) => {\n if (nextAmount < amount) ages.pop();\n else ages.push(undefined);\n onChange({ ages, amount: nextAmount, type });\n };\n\n const handleAge = (nextAge = '', index) => {\n ages[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;\n onChange({ ages, amount, type });\n };\n\n return (\n <>\n <InputNumber\n hint={getAgeRange(age, translate)}\n label={translate(L10N.LABEL_OCCUPATION_TYPE[type], { adults: '', children: '', guests: '' })}\n max={max}\n min={min}\n name={`occupation-${type}-${max || ''}`}\n rounded={false}\n step={1}\n value={amount}\n className={styles(style.inputNumber, style.offset)}\n onChange={handleAmount}\n testId={others.testId}\n />\n {fulfill && amount > 0 && (\n <View className={styles(style.ages, style.offset)}>\n <View row className={style.inputs}>\n {Array.from({ length: amount }, (_, index) => (\n <InputSelect\n {...getAgeOptions(age, translate)}\n name={`age-${age}`}\n error={ages[index] === undefined}\n key={`occupation:group:${index}`}\n value={ages[index]?.toString()}\n onChange={(value) => handleAge(value, index)}\n className={style.inputSelect}\n testId={others.testId ? `${others.testId}-select-${index}` : undefined}\n />\n ))}\n </View>\n {[TYPE.CHILD, TYPE.INFANT].includes(type) && (\n <Text light small>\n {translate(L10N.LABEL_AGE_HINT)}\n </Text>\n )}\n </View>\n )}\n </>\n );\n};\n\nOccupationGroup.displayName = 'Finder:Occupation:OccupationGroup';\n\nOccupationGroup.propTypes = {\n age: PropTypes.arrayOf(PropTypes.number),\n fulfill: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n type: PropTypes.number.isRequired,\n value: PropTypes.shape({\n amount: PropTypes.number,\n ages: PropTypes.arrayOf(PropTypes.number),\n }),\n onChange: PropTypes.func.isRequired,\n};\n\nexport { OccupationGroup };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Occupation.Group.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OccupationGroup","_ref","age","fulfill","max","min","type","TYPE","ADULT","value","onChange","others","translate","useLocale","useEffect","amount","ages","handleAmount","nextAmount","pop","push","undefined","handleAge","nextAge","index","nextAges","parseInt","createElement","Fragment","InputNumber","hint","getAgeRange","label","L10N","LABEL_OCCUPATION_TYPE","adults","children","guests","name","concat","rounded","step","className","styles","inputNumber","offset","testId","View","row","inputs","Array","from","_","_ages$index","InputSelect","getAgeOptions","error","toString","inputSelect","CHILD","INFANT","includes","Text","light","small","LABEL_AGE_HINT","exports","displayName","propTypes","PropTypes","arrayOf","number","bool","isRequired","shape","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.Group.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputNumber, InputSelect, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getAgeOptions } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { getAgeRange } from '../../helpers';\n\nconst OccupationGroup = ({\n age = [],\n fulfill = false,\n max,\n min = 0,\n type = TYPE.ADULT,\n value = {},\n onChange = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n useEffect(() => {}, []);\n\n const { amount, ages = [] } = value;\n\n const handleAmount = (nextAmount) => {\n if (nextAmount < amount) ages.pop();\n else ages.push(undefined);\n onChange({ ages, amount: nextAmount, type });\n };\n\n const handleAge = (nextAge = '', index) => {\n const nextAges = [...ages];\n nextAges[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;\n onChange({ ages: nextAges, amount, type });\n };\n\n return (\n <>\n <InputNumber\n hint={getAgeRange(age, translate)}\n label={translate(L10N.LABEL_OCCUPATION_TYPE[type], { adults: '', children: '', guests: '' })}\n max={max}\n min={min}\n name={`occupation-${type}-${max || ''}`}\n rounded={false}\n step={1}\n value={amount}\n className={styles(style.inputNumber, style.offset)}\n onChange={handleAmount}\n testId={others.testId}\n />\n {fulfill && amount > 0 && (\n <View className={styles(style.ages, style.offset)}>\n <View row className={style.inputs}>\n {Array.from({ length: amount }, (_, index) => (\n <InputSelect\n {...getAgeOptions(age, translate)}\n name={`age-${age}`}\n error={ages[index] === undefined}\n key={`occupation:group:${index}`}\n value={ages[index]?.toString()}\n onChange={(value) => handleAge(value, index)}\n className={style.inputSelect}\n testId={others.testId ? `${others.testId}-select-${index}` : undefined}\n />\n ))}\n </View>\n {[TYPE.CHILD, TYPE.INFANT].includes(type) && (\n <Text light small>\n {translate(L10N.LABEL_AGE_HINT)}\n </Text>\n )}\n </View>\n )}\n </>\n );\n};\n\nOccupationGroup.displayName = 'Finder:Occupation:OccupationGroup';\n\nOccupationGroup.propTypes = {\n age: PropTypes.arrayOf(PropTypes.number),\n fulfill: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n type: PropTypes.number.isRequired,\n value: PropTypes.shape({\n amount: PropTypes.number,\n ages: PropTypes.arrayOf(PropTypes.number),\n }),\n onChange: PropTypes.func.isRequired,\n};\n\nexport { OccupationGroup };\n"],"mappings":"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"}
@@ -78,9 +78,7 @@ const PCI = _ref => {
78
78
  (0, _react2.useEffect)(() => {
79
79
  if (!ready || !publicKey) return;
80
80
  onError(formError);
81
- console.log({
82
- publicKey
83
- });
81
+
84
82
  // eslint-disable-next-line no-undef
85
83
  secureFields = new SecureFields();
86
84
  secureFields.initTokenize(publicKey, {
@@ -1 +1 @@
1
- {"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","Sentry","_interopRequireWildcard","_propTypes","_interopRequireDefault","_react2","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","secureFields","PCI","_ref","_form$card","_form$name","_form$name2","_form$expire","_form$expire2","_form$cvv","cards","publicKey","requiredText","showCVV","showErrors","onChange","onError","others","isMobile","useDevice","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","process","env","METHOD_PCIPROXY_SCRIPT","onload","handleLoad","head","appendChild","_secureFields","el","parentNode","removeChild","destroy","console","log","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","isEvent","isCardEmpty","isCvvEmpty","handleLeave","error","valid","paymentMethod","format","required","handleError","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref5","transactionId","data","captureMessage","concat","JSON","stringify","ERROR","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","className","input","LABEL_CARD_NAME","Input","onEnter","onLeave","row","container","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, useDevice, View } from '@mirai/ui';\nimport * as Sentry from '@sentry/react';\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 } 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,\n requiredText,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\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 || !publicKey) return;\n\n onError(formError);\n console.log({ publicKey });\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\n const isEvent = ['blur', 'keyUp'].includes(type);\n const isCardEmpty = fieldName === 'card' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = fieldName === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isEvent || (isEvent && (isCardEmpty || isCvvEmpty))) {\n return type === 'blur' ? handleLeave(fieldName) : undefined;\n }\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 if (type === 'blur') handleLeave(fieldName);\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 = (data) => {\n data && Sentry.captureMessage(`PCI: ${JSON.stringify(data)}`);\n\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 requiredText={requiredText}\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 requiredText={requiredText}\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={!isMobile} className={!isMobile && style.container}>\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 requiredText={requiredText}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n value={form.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 requiredText={requiredText}\n showRequired\n success={!formError.cvv}\n value={form.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 requiredText: PropTypes.string,\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { PCI };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,OAAA,GAAAH,uBAAA,CAAAJ,OAAA;AAEA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAP,uBAAA,CAAAJ,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAA6C,SAAAM,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAE7C,IAAIY,YAAY;AAEhB,MAAMC,GAAG,GAAGC,IAAA,IASN;EAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,SAAA;EAAA,IATO;IACXC,KAAK,GAAG,EAAE;IACVC,SAAS;IACTC,YAAY;IACZC,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,GAAAd,IAAA;EACC,MAAM;IAAEe;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK,EAAE;MAAEC,OAAO,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAAED,KAAK;IAAEtB;EAAI,CAAC,GAAG,IAAAwB,qBAAQ,EAAC,CAAC;EAE/D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACpC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,gBAAQ,EAAC,CAAC,CAAC,CAAC;EACpC,MAAM,CAACG,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAJ,gBAAQ,EAAC;IACzCK,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,MAAM,EAAE,CAAC,CAAC;IACV,IAAIrB,OAAO,GAAG;MAAEsB,GAAG,EAAE,CAAC;IAAE,CAAC,GAAGC,SAAS;EACvC,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAX,gBAAQ,EAAC,KAAK,CAAC;EACzC,MAAM,CAACY,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAb,gBAAQ,EAAC,KAAK,CAAC;EAEzD,IAAAc,iBAAS,EAAC,MAAM;IACd,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CAACC,cAAS,CAAC;IACjD,IAAI,CAACH,MAAM,EAAE;MACX,MAAMI,MAAM,GAAGH,QAAQ,CAACI,aAAa,CAAC,QAAQ,CAAC;MAC/CD,MAAM,CAACE,EAAE,GAAGH,cAAS;MACrBC,MAAM,CAACG,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,sBAAsB;MAC/CN,MAAM,CAACO,MAAM,GAAGC,UAAU;MAE1BX,QAAQ,CAACY,IAAI,CAACC,WAAW,CAACV,MAAM,CAAC;IACnC;IAEA,OAAO,MAAM;MAAA,IAAAW,aAAA;MACX,MAAMC,EAAE,GAAGf,QAAQ,CAACC,cAAc,CAACC,cAAS,CAAC;MAC7Ca,EAAE,CAACC,UAAU,CAACC,WAAW,CAACF,EAAE,CAAC;MAC7B,CAAAD,aAAA,GAAAxD,YAAY,cAAAwD,aAAA,uBAAZA,aAAA,CAAcI,OAAO,CAAC,CAAC;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAApB,iBAAS,EAAC,MAAM;IACd,IAAI,CAACJ,KAAK,IAAI,CAAC1B,SAAS,EAAE;IAE1BK,OAAO,CAACc,SAAS,CAAC;IAClBgC,OAAO,CAACC,GAAG,CAAC;MAAEpD;IAAU,CAAC,CAAC;IAC1B;IACAV,YAAY,GAAG,IAAI+D,YAAY,CAAC,CAAC;IACjC/D,YAAY,CAACgE,YAAY,CACvBtD,SAAS,EACT;MAAEuD,UAAU,EAAE,MAAM;MAAE,IAAIrD,OAAO,GAAG;QAAEsB,GAAG,EAAE;MAAM,CAAC,GAAGC,SAAS;IAAE,CAAC,EACjE;MACE,GAAG,IAAA+B,iBAAQ,EAAC,CAAC;MACbC,cAAc,EAAE5E,MAAM,CAAC6E,OAAO,CAACC,UAAK,CAAC,CAClCC,MAAM,CAAC;QAAA,IAAC,GAAGjD,KAAK,CAAC,GAAAkD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,EAAE;QAAA,OAAK9D,KAAK,CAACgE,QAAQ,CAACpD,KAAK,CAAC;MAAA,EAAC,CACjDqD,GAAG,CAAC;QAAA,IAAC,CAACC,GAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,EAAE;QAAA,OAAKI,GAAG;MAAA;IAC5B,CACF,CAAC;;IAED;EACF,CAAC,EAAE,CAACjE,SAAS,EAAE0B,KAAK,CAAC,CAAC;EAEtB,IAAAI,iBAAS,EAAC,MAAM;IAAA,IAAAoC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA;IACd,CAAAH,cAAA,GAAA5E,YAAY,cAAA4E,cAAA,uBAAZA,cAAA,CAAcI,EAAE,CAAC,QAAQ,EAAEC,kBAAkB,CAAC;IAC9C,CAAAJ,cAAA,GAAA7E,YAAY,cAAA6E,cAAA,uBAAZA,cAAA,CAAcG,EAAE,CAAC,OAAO,EAAEE,gBAAgB,CAAC;IAC3C,CAAAJ,cAAA,GAAA9E,YAAY,cAAA8E,cAAA,uBAAZA,cAAA,CAAcE,EAAE,CAAC,OAAO,EAAEG,WAAW,CAAC;IACtC,CAAAJ,cAAA,GAAA/E,YAAY,cAAA+E,cAAA,uBAAZA,cAAA,CAAcC,EAAE,CAAC,SAAS,EAAEI,aAAa,CAAC;IAE1C1C,QAAQ,CAAC2C,gBAAgB,CAACC,oBAAK,CAACC,SAAS,EAAEC,iBAAiB,CAAC;IAE7D,IAAIjG,MAAM,CAACkG,IAAI,CAAC5D,SAAS,CAAC,CAAC2C,MAAM,KAAK,CAAC,EAAEzD,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,MAAM2B,QAAQ,CAACgD,mBAAmB,CAACJ,oBAAK,CAACC,SAAS,EAAEC,iBAAiB,CAAC;IAC7E;EACF,CAAC,EAAE,CAAChE,KAAK,EAAEG,IAAI,EAAEE,SAAS,EAAEO,KAAK,EAAEE,aAAa,EAAEjB,KAAK,CAAC,CAAC;EAEzD,IAAAmB,iBAAS,EAAC,MAAM;IACd1B,QAAQ,CAAC;MAAEmB,MAAM,EAAEN,IAAI,CAACM,MAAM;MAAED,IAAI,EAAEL,IAAI,CAACK,IAAI;MAAE2D,IAAI,EAAEhE,IAAI,CAACgE;IAAK,CAAC,CAAC;IACnE;EACF,CAAC,EAAE,CAAChE,IAAI,CAAC,CAAC;EAEV,IAAAa,iBAAS,EAAC,MAAM;IACdzB,OAAO,CAACxB,MAAM,CAACqG,WAAW,CAACrG,MAAM,CAAC6E,OAAO,CAACvC,SAAS,CAAC,CAACyC,MAAM,CAACuB,KAAA;MAAA,IAAC,GAAGxE,KAAK,CAAC,GAAAwE,KAAA;MAAA,OAAKxE,KAAK,KAAKc,SAAS;IAAA,EAAC,CAAC,CAAC;IACjG;EACF,CAAC,EAAE,CAACN,SAAS,EAAES,aAAa,CAAC,CAAC;EAE9B,MAAMkD,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAIjG,MAAM,CAAC6E,OAAO,CAACvC,SAAS,CAAC,CAACyC,MAAM,CAACwB,KAAA;MAAA,IAAC,GAAGzE,KAAK,CAAC,GAAAyE,KAAA;MAAA,OAAKzE,KAAK,KAAKc,SAAS;IAAA,EAAC,CAACqC,MAAM,GAAG,CAAC,EAAE;IAErFjC,gBAAgB,CAAC,CAAC;IAClB,MAAM,CAACwD,KAAK,EAAEC,IAAI,CAAC,GAAGrE,IAAI,CAACM,MAAM,CAACgE,KAAK,CAAC,GAAG,CAAC;IAC5CjG,YAAY,CAACkG,MAAM,CAAC;MAAEC,IAAI,EAAEJ,KAAK;MAAEK,IAAI,EAAEJ;IAAK,CAAC,CAAC;EAClD,CAAC;EAED,MAAMK,YAAY,GAAG,SAAAA,CAACC,KAAK,EAAiB;IAAA,IAAfjF,KAAK,GAAAkD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,EAAE;IACrChC,gBAAgB,CAAC,CAAC;IAElB,MAAM;MAAEN,MAAM;MAAED;IAAK,CAAC,GAAG,IAAAuE,qBAAY,EAAC;MAAE,GAAG;QAAEtE,MAAM,EAAEN,IAAI,CAACM,MAAM;QAAED,IAAI,EAAEL,IAAI,CAACK;MAAK,CAAC;MAAE,CAACsE,KAAK,GAAGjF;IAAM,CAAC,EAAEM,IAAI,CAAC;IAC5GC,OAAO,CAAC;MAAE,GAAGD,IAAI;MAAEM,MAAM;MAAED;IAAK,CAAC,CAAC;EACpC,CAAC;EAED,MAAMiD,kBAAkB,GAAGuB,KAAA,IAAiF;IAAA,IAAhF;MAAEC,MAAM,EAAE;QAAExC,UAAU,GAAG,CAAC,CAAC;QAAE/B,GAAG,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEwE,KAAK,EAAE;QAAEf,IAAI;QAAEW;MAAM,CAAC,GAAG,CAAC;IAAE,CAAC,GAAAE,KAAA;IACrG,MAAMG,SAAS,GAAGL,KAAK,KAAK,YAAY,GAAG,MAAM,GAAGA,KAAK;IACzD,IAAIX,IAAI,KAAK,OAAO,EAAE,OAAOiB,WAAW,CAACD,SAAS,CAAC;IAEnD,MAAME,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAACpC,QAAQ,CAACkB,IAAI,CAAC;IAChD,MAAMmB,WAAW,GAAGH,SAAS,KAAK,MAAM,IAAI1C,UAAU,CAACO,MAAM,KAAK,CAAC,IAAI,CAAC7C,IAAI,CAACI,IAAI;IACjF,MAAMgF,UAAU,GAAGJ,SAAS,KAAK,KAAK,IAAIzE,GAAG,CAACsC,MAAM,KAAK,CAAC,IAAI,CAAC7C,IAAI,CAACO,GAAG;IAEvE,IAAI,CAAC2E,OAAO,IAAKA,OAAO,KAAKC,WAAW,IAAIC,UAAU,CAAE,EAAE;MACxD,OAAOpB,IAAI,KAAK,MAAM,GAAGqB,WAAW,CAACL,SAAS,CAAC,GAAGxE,SAAS;IAC7D;IAEAI,gBAAgB,CAAC,CAAC;IAElB,MAAM0E,KAAK,GAAG;MAAE,GAAGpF;IAAU,CAAC;IAC9B,IAAI8E,SAAS,KAAK,MAAM,EAAE;MACxB/E,OAAO,CAAC;QAAE,GAAGD,IAAI;QAAEI,IAAI,EAAEkC,UAAU;QAAE0B,IAAI,EAAE1B,UAAU,CAACiD,KAAK,GAAG7C,UAAK,CAACJ,UAAU,CAACkD,aAAa,CAAC,GAAGhF;MAAU,CAAC,CAAC;MAC5G8E,KAAK,CAAClF,IAAI,GACR,CAACkC,UAAU,CAACiD,KAAK,IAAIjD,UAAU,CAACO,MAAM,GAAG,CAAC,GACtC;QAAE4C,MAAM,EAAE;MAAK,CAAC,GAChBnD,UAAU,CAACO,MAAM,KAAK,CAAC,GACvB;QAAE6C,QAAQ,EAAE;MAAK,CAAC,GAClBlF,SAAS;IACjB,CAAC,MAAM,IAAIwE,SAAS,KAAK,KAAK,EAAE;MAC9B/E,OAAO,CAAC;QAAE,GAAGD,IAAI;QAAEO;MAAI,CAAC,CAAC;MACzB+E,KAAK,CAAC/E,GAAG,GAAG,CAACA,GAAG,CAACgF,KAAK,IAAIhF,GAAG,CAACsC,MAAM,GAAG,CAAC,GAAG;QAAE4C,MAAM,EAAE;MAAK,CAAC,GAAGlF,GAAG,CAACsC,MAAM,KAAK,CAAC,GAAG;QAAE6C,QAAQ,EAAE;MAAK,CAAC,GAAGlF,SAAS;IACjH;IAEA,IAAIwD,IAAI,KAAK,MAAM,EAAEqB,WAAW,CAACL,SAAS,CAAC;IAC3C7E,YAAY,CAACmF,KAAK,CAAC;EACrB,CAAC;EAED,MAAML,WAAW,GAAIN,KAAK,IAAK7E,QAAQ,CAAED,KAAK,KAAM;IAAE,GAAGA,KAAK;IAAE,CAAC8E,KAAK,GAAG;EAAK,CAAC,CAAC,CAAC;EAEjF,MAAMU,WAAW,GAAIV,KAAK,IAAK7E,QAAQ,CAAED,KAAK,KAAM;IAAE,GAAGA,KAAK;IAAE,CAAC8E,KAAK,GAAG;EAAM,CAAC,CAAC,CAAC;EAElF,MAAMgB,WAAW,GAAG,SAAAA,CAAChB,KAAK,EAA8B;IAAA,IAA5B;MAAEe,QAAQ;MAAEE;IAAK,CAAC,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,CAAC,CAAC;IACjD,IAAI,CAACnC,KAAK,EAAE;IAEZN,YAAY,CAAED,SAAS,KAAM;MAC3B,GAAGA,SAAS;MACZ,GAAG;QAAE,CAACyE,KAAK,GAAGe,QAAQ,GAAG;UAAEA,QAAQ,EAAE;QAAK,CAAC,GAAGE,IAAI,GAAG;UAAEH,MAAM,EAAE;QAAK,CAAC,GAAGjF;MAAU;IACpF,CAAC,CAAC,CAAC;EACL,CAAC;EAED,MAAMkB,UAAU,GAAGA,CAAA,KAAM;IACvBhB,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,MAAM8C,WAAW,GAAGA,CAAA,KAAM;IACxBnF,YAAY,CAACwH,cAAc,CAAC,YAAY,EAAEC,qBAAgB,CAAC;IAC3D7G,OAAO,IAAIZ,YAAY,CAACwH,cAAc,CAAC,KAAK,EAAEE,oBAAe,CAAC;EAChE,CAAC;EAED,MAAMtC,aAAa,GAAGuC,KAAA,IAAuB;IAAA,IAAtB;MAAEC;IAAc,CAAC,GAAAD,KAAA;IACtC5H,GAAG,CAAC;MAAEuB,OAAO,EAAE;QAAE,GAAGA,OAAO;QAAEsG;MAAc;IAAE,CAAC,CAAC;EACjD,CAAC;EAED,MAAM1C,gBAAgB,GAAI2C,IAAI,IAAK;IACjCA,IAAI,IAAI/J,MAAM,CAACgK,cAAc,SAAAC,MAAA,CAASC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAC,CAAE,CAAC;IAE7DtF,gBAAgB,CAAC2F,UAAK,CAAC;IACvBnI,GAAG,CAAC;MAAEuB,OAAO,EAAE;QAAE,GAAGA,OAAO;QAAE2F,KAAK,EAAEiB;MAAM;IAAE,CAAC,CAAC;EAChD,CAAC;EAED,MAAM;IAAEC;EAAO,CAAC,GAAGnH,MAAM;EAEzB,oBACE9C,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAuK,IAAI,EAAKpH,MAAM,eACd9C,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAwK,IAAI;IAACC,MAAM;EAAA,GAAEnH,SAAS,CAACoH,UAAI,CAACC,iBAAiB,CAAQ,CAAC,eAEvDtK,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACtE,WAAA,CAAAiK,UAAU;IACT1F,EAAE,EAAC,eAAe;IAClBkE,KAAK,EAAGpG,UAAU,KAAK,CAACc,IAAI,CAACI,IAAI,IAAI,EAAA5B,UAAA,GAAAwB,IAAI,CAACI,IAAI,cAAA5B,UAAA,uBAATA,UAAA,CAAWqE,MAAM,MAAK,CAAC,CAAC,IAAKjF,MAAM,CAACkG,IAAI,CAAC5D,SAAS,CAACE,IAAI,IAAI,CAAC,CAAC,CAAC,CAACyC,MAAM,GAAG,CAAE;IAC/GhD,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,IAAK;IACnB2G,KAAK,EAAEvH,SAAS,CAACoH,UAAI,CAACI,iBAAiB,CAAE;IACzChI,YAAY,EAAEA,YAAa;IAC3BiI,YAAY;IACZC,OAAO,EAAE,CAAChH,SAAS,CAACE,IAAK;IACzBV,KAAK,EAAEM,IAAI,CAACI,IAAK;IACjBoG,MAAM,EAAEA,MAAM,MAAAJ,MAAA,CAAMI,MAAM,iBAAchG;EAAU,gBAElDjE,OAAA,CAAAU,OAAA,CAAAkE,aAAA;IAAKC,EAAE,EAAC,MAAM;IAAC+F,SAAS,EAAExK,KAAK,CAACyK;EAAM,CAAE,CAC9B,CAAC,eACb7K,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACtE,WAAA,CAAAiK,UAAU;IACTxB,KAAK,EAAGpG,UAAU,KAAK,CAACc,IAAI,CAACK,IAAI,IAAI,EAAA5B,UAAA,GAAAuB,IAAI,CAACK,IAAI,cAAA5B,UAAA,uBAATA,UAAA,CAAWoE,MAAM,MAAK,CAAC,CAAC,IAAKjF,MAAM,CAACkG,IAAI,CAAC5D,SAAS,CAACG,IAAI,IAAI,CAAC,CAAC,CAAC,CAACwC,MAAM,GAAG,CAAE;IAC/GhD,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,IAAK;IACnB0G,KAAK,EAAEvH,SAAS,CAACoH,UAAI,CAACS,eAAe,CAAE;IACvCrI,YAAY,EAAEA,YAAa;IAC3BiI,YAAY;IACZC,OAAO,EAAE,EAAAxI,WAAA,GAAAsB,IAAI,CAACK,IAAI,cAAA3B,WAAA,uBAATA,WAAA,CAAWmE,MAAM,IAAG,CAAC,IAAI,CAAC3C,SAAS,CAACG,IAAK;IAClDX,KAAK,EAAEM,IAAI,CAACK,IAAK;IACjBmG,MAAM,EAAEA,MAAM,MAAAJ,MAAA,CAAMI,MAAM,iBAAchG;EAAU,gBAElDjE,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAoL,KAAK;IACJlG,EAAE,EAAC,eAAe;IAClBf,IAAI,EAAC,MAAM;IACXqF,QAAQ;IACRhG,KAAK,EAAEM,IAAI,CAACK,IAAK;IACjBlB,QAAQ,EAAGO,KAAK,IAAKgF,YAAY,CAAC,MAAM,EAAEhF,KAAK,CAAE;IACjD6H,OAAO,EAAEA,CAAA,KAAMtC,WAAW,CAAC,MAAM,CAAE;IACnC7F,OAAO,EAAGkG,KAAK,IAAKK,WAAW,CAAC,MAAM,EAAEL,KAAK,CAAE;IAC/CkC,OAAO,EAAEA,CAAA,KAAMnC,WAAW,CAAC,MAAM;EAAE,CACpC,CACS,CAAC,eACb9I,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAuK,IAAI;IAACgB,GAAG,EAAE,CAACnI,QAAS;IAAC6H,SAAS,EAAE,CAAC7H,QAAQ,IAAI3C,KAAK,CAAC+K;EAAU,gBAC5DnL,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACtE,WAAA,CAAAiK,UAAU;IACTxB,KAAK,EACFpG,UAAU,KAAK,CAACc,IAAI,CAACM,MAAM,IAAI,EAAA3B,YAAA,GAAAqB,IAAI,CAACM,MAAM,cAAA3B,YAAA,uBAAXA,YAAA,CAAakE,MAAM,MAAK,CAAC,CAAC,IAC1DjF,MAAM,CAACkG,IAAI,CAAC5D,SAAS,CAACI,MAAM,IAAI,CAAC,CAAC,CAAC,CAACuC,MAAM,GAAG,CAC9C;IACDhD,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,MAAO;IACrByG,KAAK,EAAEvH,SAAS,CAACoH,UAAI,CAACe,gBAAgB,CAAE;IACxC3I,YAAY,EAAEA,YAAa;IAC3BiI,YAAY;IACZC,OAAO,EAAE,EAAAtI,aAAA,GAAAoB,IAAI,CAACM,MAAM,cAAA1B,aAAA,uBAAXA,aAAA,CAAaiE,MAAM,IAAG,CAAC,IAAI,CAAC3C,SAAS,CAACI,MAAO;IACtDZ,KAAK,EAAEM,IAAI,CAACM,MAAO;IACnBkG,MAAM,EAAEA,MAAM,MAAAJ,MAAA,CAAMI,MAAM,mBAAgBhG;EAAU,gBAEpDjE,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAoL,KAAK;IACJlG,EAAE,EAAC,iBAAiB;IACpBwG,SAAS,EAAE,CAAE;IACbvH,IAAI,EAAC,QAAQ;IACbwH,WAAW,KAAAzB,MAAA,CAAK5G,SAAS,CAACoH,UAAI,CAACkB,kBAAkB,CAAC,OAAA1B,MAAA,CAAI5G,SAAS,CAACoH,UAAI,CAACmB,iBAAiB,CAAC,CAAG;IAC1FrC,QAAQ;IACRE,IAAI,EAAGtF,MAAM,IAAKA,MAAM,CAACuC,MAAM,KAAK,CAAC,IAAK,CAAAvC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEuC,MAAM,IAAG,CAAC,IAAI,IAAAmF,oBAAU,EAAC1H,MAAM,CAAG;IACpFZ,KAAK,EAAEM,IAAI,CAACM,MAAO;IACnBnB,QAAQ,EAAGO,KAAK,IAAKgF,YAAY,CAAC,QAAQ,EAAEhF,KAAK,CAAE;IACnD6H,OAAO,EAAEA,CAAA,KAAMtC,WAAW,CAAC,QAAQ,CAAE;IACrC7F,OAAO,EAAGkG,KAAK,IAAKK,WAAW,CAAC,QAAQ,EAAEL,KAAK,CAAE;IACjDkC,OAAO,EAAEA,CAAA,KAAMnC,WAAW,CAAC,QAAQ;EAAE,CACtC,CACS,CAAC,EACZpG,OAAO,iBACN1C,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACtE,WAAA,CAAAiK,UAAU;IACT1F,EAAE,EAAC,cAAc;IACjBkE,KAAK,EAAGpG,UAAU,KAAK,CAACc,IAAI,CAACO,GAAG,IAAI,EAAA1B,SAAA,GAAAmB,IAAI,CAACO,GAAG,cAAA1B,SAAA,uBAARA,SAAA,CAAUgE,MAAM,MAAK,CAAC,CAAC,IAAKjF,MAAM,CAACkG,IAAI,CAAC5D,SAAS,CAACK,GAAG,IAAI,CAAC,CAAC,CAAC,CAACsC,MAAM,GAAG,CAAE;IAC5GhD,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEU,GAAI;IAClBwG,KAAK,EAAEvH,SAAS,CAACoH,UAAI,CAACqB,SAAS,CAAE;IACjCjJ,YAAY,EAAEA,YAAa;IAC3BiI,YAAY;IACZC,OAAO,EAAE,CAAChH,SAAS,CAACK,GAAI;IACxBb,KAAK,EAAEM,IAAI,CAACO,GAAI;IAChBiG,MAAM,EAAEA,MAAM,MAAAJ,MAAA,CAAMI,MAAM,gBAAahG;EAAU,gBAEjDjE,OAAA,CAAAU,OAAA,CAAAkE,aAAA;IAAKC,EAAE,EAAC,KAAK;IAAC+F,SAAS,EAAExK,KAAK,CAACyK;EAAM,CAAE,CAC7B,CAEV,CAAC,EAENzG,aAAa,iBACZpE,OAAA,CAAAU,OAAA,CAAAkE,aAAA,CAACjF,GAAA,CAAAgM,YAAY;IAAC5C,KAAK;IAAC6C,KAAK;IAACC,IAAI;EAAA,GAC3B5I,SAAS,CAACoH,UAAI,CAACyB,sBAAsB,CAC1B,CAEZ,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAhK,GAAA,GAAAA,GAAA;AAEFA,GAAG,CAACiK,WAAW,GAAG,oBAAoB;AAEtCjK,GAAG,CAACkK,SAAS,GAAG;EACd1J,KAAK,EAAE2J,kBAAS,CAACC,KAAK;EACtB3J,SAAS,EAAE0J,kBAAS,CAACE,MAAM;EAC3B3J,YAAY,EAAEyJ,kBAAS,CAACE,MAAM;EAC9B1J,OAAO,EAAEwJ,kBAAS,CAACG,IAAI;EACvB1J,UAAU,EAAEuJ,kBAAS,CAACG,IAAI;EAC1BzJ,QAAQ,EAAEsJ,kBAAS,CAACI,IAAI;EACxBzJ,OAAO,EAAEqJ,kBAAS,CAACI;AACrB,CAAC"}
1
+ {"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","Sentry","_interopRequireWildcard","_propTypes","_interopRequireDefault","_react2","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","secureFields","PCI","_ref","_form$card","_form$name","_form$name2","_form$expire","_form$expire2","_form$cvv","cards","publicKey","requiredText","showCVV","showErrors","onChange","onError","others","isMobile","useDevice","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","process","env","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","isEvent","isCardEmpty","isCvvEmpty","handleLeave","error","valid","paymentMethod","format","required","handleError","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref5","transactionId","data","captureMessage","concat","JSON","stringify","ERROR","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","className","input","LABEL_CARD_NAME","Input","onEnter","onLeave","row","container","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, useDevice, View } from '@mirai/ui';\nimport * as Sentry from '@sentry/react';\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 } 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,\n requiredText,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\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 || !publicKey) return;\n onError(formError);\n\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\n const isEvent = ['blur', 'keyUp'].includes(type);\n const isCardEmpty = fieldName === 'card' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = fieldName === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isEvent || (isEvent && (isCardEmpty || isCvvEmpty))) {\n return type === 'blur' ? handleLeave(fieldName) : undefined;\n }\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 if (type === 'blur') handleLeave(fieldName);\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 = (data) => {\n data && Sentry.captureMessage(`PCI: ${JSON.stringify(data)}`);\n\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 requiredText={requiredText}\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 requiredText={requiredText}\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={!isMobile} className={!isMobile && style.container}>\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 requiredText={requiredText}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n value={form.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 requiredText={requiredText}\n showRequired\n success={!formError.cvv}\n value={form.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 requiredText: 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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"}
@@ -18,19 +18,19 @@ const EventManager = () => {
18
18
  set
19
19
  } = (0, _dataSources.useStore)();
20
20
  (0, _react.useEffect)(() => {
21
- if (!finder) return;
22
- _dataSources.Event.publish(_EventManager.EVENT.FINDER_LOADED, finder);
21
+ _dataSources.Event.subscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
22
+ return () => _dataSources.Event.unsubscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
23
+
23
24
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
- }, []);
25
+ }, [finder, origin]);
25
26
  (0, _react.useEffect)(() => {
27
+ if (!finder) return;
26
28
  _dataSources.Event.subscribe(_helpers.EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);
27
- _dataSources.Event.subscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
28
- return () => {
29
- _dataSources.Event.unsubscribe(_helpers.EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);
30
- _dataSources.Event.unsubscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
31
- };
29
+ _dataSources.Event.publish(_EventManager.EVENT.FINDER_LOADED, finder);
30
+ return () => _dataSources.Event.unsubscribe(_helpers.EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);
31
+
32
32
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
- }, [finder, origin]);
33
+ }, []);
34
34
  const handleFinderFieldChange = value => _dataSources.Event.publish(_EventManager.EVENT.FINDER_CHANGE, value);
35
35
  const handleSetStore = function () {
36
36
  var _tags$options;
@@ -43,7 +43,6 @@ const EventManager = () => {
43
43
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
44
  let next = {};
45
45
  if (commissionCode) next.origin = {
46
- ...origin,
47
46
  commissionCode
48
47
  };
49
48
  if (calendar !== null && calendar !== void 0 && calendar.length && (calendar === null || calendar === void 0 ? void 0 : calendar.length) === 2) next.finder = {
@@ -1 +1 @@
1
- {"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","EventManager","value","finder","origin","tags","set","useStore","useEffect","Event","publish","EVENT","FINDER_LOADED","subscribe","COMPONENTS_EVENT","FINDER_FIELD_CHANGE","handleFinderFieldChange","SET_STORE","handleSetStore","unsubscribe","FINDER_CHANGE","_tags$options","chainSelectorValue","placeId","calendar","hsri","commissionCode","occupation","promocode","arguments","length","undefined","next","place","options","find","exports"],"sources":["../../../src/contexts/EventManager/EventManager.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useEffect } from 'react';\n\nimport { EVENT } from './EventManager.constants';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\n\nconst EventManager = () => {\n const { value: { finder = {}, origin = {}, tags = {} } = {}, set } = useStore();\n\n useEffect(() => {\n if (!finder) return;\n\n Event.publish(EVENT.FINDER_LOADED, finder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n Event.subscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n Event.subscribe(EVENT.SET_STORE, handleSetStore);\n\n return () => {\n Event.unsubscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n Event.unsubscribe(EVENT.SET_STORE, handleSetStore);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, origin]);\n\n const handleFinderFieldChange = (value) => Event.publish(EVENT.FINDER_CHANGE, value);\n\n const handleSetStore = ({\n chainSelectorValue: placeId,\n calendar,\n hsri: commissionCode,\n occupation,\n promocode,\n } = {}) => {\n let next = {};\n\n if (commissionCode) next.origin = { ...origin, commissionCode };\n if (calendar?.length && calendar?.length === 2) next.finder = { calendar };\n if (occupation?.length) next.finder = { ...next.finder, occupation };\n if (promocode !== undefined && promocode !== null) next.finder = { ...next.finder, promocode };\n if (placeId) next.finder = { ...next.finder, place: tags?.options?.find(({ value } = {}) => value === placeId) };\n\n set(next);\n };\n\n return null;\n};\n\nexport { EventManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","EventManager","value","finder","origin","tags","set","useStore","useEffect","Event","subscribe","EVENT","SET_STORE","handleSetStore","unsubscribe","COMPONENTS_EVENT","FINDER_FIELD_CHANGE","handleFinderFieldChange","publish","FINDER_LOADED","FINDER_CHANGE","_tags$options","chainSelectorValue","placeId","calendar","hsri","commissionCode","occupation","promocode","arguments","length","undefined","next","place","options","find","exports"],"sources":["../../../src/contexts/EventManager/EventManager.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useEffect } from 'react';\n\nimport { EVENT } from './EventManager.constants';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\n\nconst EventManager = () => {\n const { value: { finder = {}, origin = {}, tags = {} } = {}, set } = useStore();\n\n useEffect(() => {\n Event.subscribe(EVENT.SET_STORE, handleSetStore);\n\n return () => Event.unsubscribe(EVENT.SET_STORE, handleSetStore);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, origin]);\n\n useEffect(() => {\n if (!finder) return;\n\n Event.subscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n Event.publish(EVENT.FINDER_LOADED, finder);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleFinderFieldChange = (value) => Event.publish(EVENT.FINDER_CHANGE, value);\n\n const handleSetStore = ({\n chainSelectorValue: placeId,\n calendar,\n hsri: commissionCode,\n occupation,\n promocode,\n } = {}) => {\n let next = {};\n\n if (commissionCode) next.origin = { commissionCode };\n if (calendar?.length && calendar?.length === 2) next.finder = { calendar };\n if (occupation?.length) next.finder = { ...next.finder, occupation };\n if (promocode !== undefined && promocode !== null) next.finder = { ...next.finder, promocode };\n if (placeId) next.finder = { ...next.finder, place: tags?.options?.find(({ value } = {}) => value === placeId) };\n\n set(next);\n };\n\n return null;\n};\n\nexport { EventManager };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.282",
3
+ "version": "0.4.284",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",