@mirai/core 0.3.427 → 0.3.428

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.
Files changed (30) hide show
  1. package/build/Core.js +3 -23
  2. package/build/Core.js.map +1 -1
  3. package/build/components/Finder/Finder.js +2 -2
  4. package/build/components/Finder/Finder.js.map +1 -1
  5. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +314 -264
  6. package/build/components/Profile/components/Bookings/Bookings.js +8 -1
  7. package/build/components/Profile/components/Bookings/Bookings.js.map +1 -1
  8. package/build/components/Profile/components/Bookings/Bookings.l10n.js +3 -0
  9. package/build/components/Profile/components/Bookings/Bookings.l10n.js.map +1 -1
  10. package/build/components/Rates/Rates.js +2 -5
  11. package/build/components/Rates/Rates.js.map +1 -1
  12. package/build/components/Rates/components/CardHotel/CardHotel.js +10 -2
  13. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  14. package/build/components/Session/Session.Account.js +5 -3
  15. package/build/components/Session/Session.Account.js.map +1 -1
  16. package/build/components/Session/Session.js +2 -4
  17. package/build/components/Session/Session.js.map +1 -1
  18. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +117 -1072
  19. package/build/components/__shared__/BookingSummary/BookingSummary.js +14 -3
  20. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  21. package/build/components/__shared__/BookingSummary/BookingSummary.l10n.js +4 -1
  22. package/build/components/__shared__/BookingSummary/BookingSummary.l10n.js.map +1 -1
  23. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +7 -24
  24. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  25. package/build/components/helpers/constants.js +0 -1
  26. package/build/components/helpers/constants.js.map +1 -1
  27. package/build/helpers/consolidateStore.js +9 -4
  28. package/build/helpers/consolidateStore.js.map +1 -1
  29. package/package.json +1 -1
  30. package/public/routes/Home.jsx +1 -2
package/build/Core.js CHANGED
@@ -50,11 +50,9 @@ const Core = _ref => {
50
50
  (0, _react.useEffect)(() => {
51
51
  if (skeleton) return;
52
52
  _dataSources.Event.subscribe(_helpers.EVENT.INTENT_CURRENCY, handleIntentCurrency);
53
- _dataSources.Event.subscribe(_helpers.EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);
54
53
  _dataSources.Event.subscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
55
54
  return () => {
56
55
  _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_CURRENCY, handleIntentCurrency);
57
- _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);
58
56
  _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
59
57
  };
60
58
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -67,13 +65,11 @@ const Core = _ref => {
67
65
  currency
68
66
  });
69
67
  };
70
- const handleIntentEnvironment = async _ref3 => {
68
+ const handleIntentLocale = async _ref3 => {
71
69
  let {
72
- currency: nextCurrency,
73
- locale: nextLocale
70
+ locale
74
71
  } = _ref3;
75
- if (currency === nextCurrency && locale === nextLocale) return;
76
- const [language] = nextLocale.split('-');
72
+ const [language] = locale.split('-');
77
73
  set({
78
74
  club: {
79
75
  ...club,
@@ -82,22 +78,6 @@ const Core = _ref => {
82
78
  language
83
79
  }))
84
80
  },
85
- currency: nextCurrency,
86
- language,
87
- locale: nextLocale
88
- });
89
- if (locale !== nextLocale) {
90
- (0, _helpers2.themeDirection)(language);
91
- fetchDictionary(nextLocale);
92
- }
93
- };
94
- const handleIntentLocale = async _ref4 => {
95
- let {
96
- locale
97
- } = _ref4;
98
- const [language] = locale.split('-');
99
- set({
100
- currency,
101
81
  language,
102
82
  locale
103
83
  });
package/build/Core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","skeleton","isMobile","useDevice","value","club","currency","hotel","id","locale","DEFAULT_LOCALE","store","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","fetchDictionary","Event","subscribe","EVENT","INTENT_CURRENCY","handleIntentCurrency","INTENT_ENVIRONMENT","handleIntentEnvironment","INTENT_LOCALE","handleIntentLocale","unsubscribe","_ref2","_ref3","nextCurrency","nextLocale","language","split","getClubUrl","themeDirection","_ref4","arguments","length","cached","next","createElement","LocaleProvider","Fragment","Notifications","filter","desktop","mobile","map","el","component","props","index","getGhost","getContents","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","dangerousChildren","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getClubUrl, getContents, getGhost, sanitizeComponent, themeDirection } from './helpers';\n\nconst contents = {};\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { club, currency, hotel: { id } = {}, locale = DEFAULT_LOCALE, ...store },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n if (!skeleton) return;\n fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n\n return () => {\n Event.unsubscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.unsubscribe(EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);\n Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n const handleIntentCurrency = ({ currency }) => {\n set({ currency });\n };\n\n const handleIntentEnvironment = async ({ currency: nextCurrency, locale: nextLocale }) => {\n if (currency === nextCurrency && locale === nextLocale) return;\n\n const [language] = nextLocale.split('-');\n\n set({\n club: { ...club, ...(await getClubUrl({ id, language })) },\n currency: nextCurrency,\n language,\n locale: nextLocale,\n });\n\n if (locale !== nextLocale) {\n themeDirection(language);\n fetchDictionary(nextLocale);\n }\n };\n\n const handleIntentLocale = async ({ locale }) => {\n const [language] = locale.split('-');\n set({ currency, language, locale });\n\n themeDirection(language);\n fetchDictionary(locale);\n };\n\n const fetchDictionary = async (locale = DEFAULT_LOCALE) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(\n ({ desktop, mobile } = {}) =>\n (isMobile && (mobile === undefined || mobile === true) && desktop !== true) ||\n (!isMobile && (desktop === undefined || desktop === true) && mobile !== true),\n )\n .map(({ el, component, ...props } = {}, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n if (!contents[index]) contents[index] = getContents(el);\n sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren: contents[index],\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","skeleton","isMobile","useDevice","value","club","currency","hotel","id","locale","DEFAULT_LOCALE","store","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","fetchDictionary","Event","subscribe","EVENT","INTENT_CURRENCY","handleIntentCurrency","INTENT_LOCALE","handleIntentLocale","unsubscribe","_ref2","_ref3","language","split","getClubUrl","themeDirection","arguments","length","cached","next","createElement","LocaleProvider","Fragment","Notifications","filter","desktop","mobile","map","el","component","props","index","getGhost","getContents","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","dangerousChildren","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getClubUrl, getContents, getGhost, sanitizeComponent, themeDirection } from './helpers';\n\nconst contents = {};\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { club, currency, hotel: { id } = {}, locale = DEFAULT_LOCALE, ...store },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n if (!skeleton) return;\n fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n\n return () => {\n Event.unsubscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n const handleIntentCurrency = ({ currency }) => {\n set({ currency });\n };\n\n const handleIntentLocale = async ({ locale }) => {\n const [language] = locale.split('-');\n\n set({\n club: { ...club, ...(await getClubUrl({ id, language })) },\n language,\n locale,\n });\n\n themeDirection(language);\n fetchDictionary(locale);\n };\n\n const fetchDictionary = async (locale = DEFAULT_LOCALE) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(\n ({ desktop, mobile } = {}) =>\n (isMobile && (mobile === undefined || mobile === true) && desktop !== true) ||\n (!isMobile && (desktop === undefined || desktop === true) && mobile !== true),\n )\n .map(({ el, component, ...props } = {}, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n if (!contents[index]) contents[index] = getContents(el);\n sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren: contents[index],\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
@@ -255,8 +255,8 @@ const Finder = _ref => {
255
255
  } = store;
256
256
  const id = type !== HOTEL ? isHotel && ids.length === 1 ? ids[0] : undefined : idHotel;
257
257
  const is = {
258
- column: isMobile || layout === 'column',
259
- compacted: compacted && isMobile || compacted && !isMobile && !focus,
258
+ column: layout === 'column',
259
+ compacted: layout !== 'column' && (isMobile || compacted && !focus),
260
260
  rates: components.rates !== undefined
261
261
  };
262
262
  const fieldProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: layout === 'column',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}