@mirai/core 0.4.355 → 0.4.357

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.
@@ -448,7 +448,7 @@ const Finder = _ref => {
448
448
  occupation: undefined
449
449
  }),
450
450
  onWarning: () => {
451
- if (!isMobile && focus !== _Finder2.VIEW.OCCUPATION) setFocus(_Finder2.VIEW.OCCUPATION);
451
+ if (focus !== _Finder2.VIEW.OCCUPATION) setFocus(_Finder2.VIEW.OCCUPATION);
452
452
  },
453
453
  testId: others.testId ? "".concat(others.testId, "-occupation") : undefined
454
454
  }, fieldProps)), is.inline && /*#__PURE__*/_react2.default.createElement(_ui.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","Sentry","_interopRequireWildcard","_propTypes","_interopRequireDefault","_react2","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CHAIN","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places2$o","_dataSource$places3","_dataSource$places4","_dataSource$places5","compacted","icon","layout","metrics","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","placesRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","keys","filter","captureMessage","forwarderUrl","getForwarderUrl","setStorage","href","includes","forEach","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","separatorColor","fieldVariant","Theme","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","expanded","PLACES_LENGTH_LIMIT","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","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, Theme, useDevice, View } from '@mirai/ui';\nimport * as Sentry from '@sentry/react';\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, PLACES_LENGTH_LIMIT, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } 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 { Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n metrics = 'finder',\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const placesRef = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\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 if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') 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 const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\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: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\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 const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\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 publishChange(next);\n\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 = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\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 if (!nextValue?.occupation) {\n try {\n Sentry.captureMessage(`FINDER:No occupation. NextValue: ${JSON.stringify(nextValue)}`);\n // eslint-disable-next-line no-empty\n } catch {}\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\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 publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\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 { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref, placesRef) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\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={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n expanded={dataSource?.places?.options?.length >= PLACES_LENGTH_LIMIT}\n markdown={false}\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 ref={placesRef}\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 {is.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 && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\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 || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.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 : isMobile && is.compacted ? () => setFocus() : 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 {is.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={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n metrics: PropTypes.string,\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","Sentry","_interopRequireWildcard","_propTypes","_interopRequireDefault","_react2","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CHAIN","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places2$o","_dataSource$places3","_dataSource$places4","_dataSource$places5","compacted","icon","layout","metrics","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","placesRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","keys","filter","captureMessage","forwarderUrl","getForwarderUrl","setStorage","href","includes","forEach","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","separatorColor","fieldVariant","Theme","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","expanded","PLACES_LENGTH_LIMIT","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","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, Theme, useDevice, View } from '@mirai/ui';\nimport * as Sentry from '@sentry/react';\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, PLACES_LENGTH_LIMIT, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } 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 { Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n metrics = 'finder',\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const placesRef = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\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 if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') 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 const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\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: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\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 const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\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 publishChange(next);\n\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 = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\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 if (!nextValue?.occupation) {\n try {\n Sentry.captureMessage(`FINDER:No occupation. NextValue: ${JSON.stringify(nextValue)}`);\n // eslint-disable-next-line no-empty\n } catch {}\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\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 publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\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 { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref, placesRef) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\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={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n expanded={dataSource?.places?.options?.length >= PLACES_LENGTH_LIMIT}\n markdown={false}\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 ref={placesRef}\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 {is.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 && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\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 || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.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 : isMobile && is.compacted ? () => setFocus() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {is.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={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n metrics: PropTypes.string,\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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"}
@@ -53,11 +53,11 @@ const FieldOccupation = exports.FieldOccupation = /*#__PURE__*/_react.default.fo
53
53
  individual
54
54
  });
55
55
  const caption = (0, _helpers.getOccupationSummary)(value || [...Array(minRooms)].map(() => (0, _prepareRoom.prepareRoom)(others.dataSource)), translate, type);
56
- console.log(others);
57
56
  return /*#__PURE__*/_react.default.createElement(_Field.Field, _extends({}, others, {
58
57
  caption: caption,
59
58
  compacted: compacted,
60
59
  error: error,
60
+ forceRender: true,
61
61
  icon: _helpers.ICON.PEOPLE,
62
62
  inline: inline,
63
63
  label: !hideLabel ? translate(_FieldOccupation.L10N.LABEL_WHO) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldOccupation.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_FieldOccupation","_prepareRoom","_helpers","_Field","_Occupation","_Occupation2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","FieldOccupation","exports","React","forwardRef","_ref","ref","compacted","error","hideLabel","hotels","inline","tabIndex","value","visible","warning","withWarning","onPress","onSubmit","others","translate","useLocale","config","dataSource","lodgingDenomination","individual","useStore","minRooms","testId","type","getAccommodationType","caption","getOccupationSummary","Array","map","prepareRoom","console","log","createElement","Field","icon","ICON","PEOPLE","label","L10N","LABEL_WHO","undefined","concat","Occupation","className","style","displayName","propTypes","PropTypes","bool","array","any","arrayOf","SHAPE","VALUE","func"],"sources":["../../../../src/components/__shared__/FieldOccupation/FieldOccupation.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './FieldOccupation.l10n';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { getAccommodationType, getOccupationSummary, ICON } from '../../helpers';\nimport { Field } from '../Field';\nimport { Occupation as OccupationBase } from '../Occupation';\nimport { SHAPE } from '../Occupation/Occupation.constants';\n\nconst FieldOccupation = React.forwardRef(\n (\n {\n compacted,\n error,\n hideLabel,\n hotels = [],\n inline,\n tabIndex,\n value,\n visible,\n warning,\n withWarning,\n onPress,\n onSubmit,\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {} },\n } = useStore();\n\n const { minRooms = 1, testId } = others;\n const type = getAccommodationType({ dataSource, hotels, individual });\n const caption = getOccupationSummary(\n value || [...Array(minRooms)].map(() => prepareRoom(others.dataSource)),\n translate,\n type,\n );\n console.log(others);\n return (\n <Field\n {...others}\n caption={caption}\n compacted={compacted}\n error={error}\n icon={ICON.PEOPLE}\n inline={inline}\n label={!hideLabel ? translate(L10N.LABEL_WHO) : undefined}\n tabIndex={tabIndex}\n visible={visible}\n warning={warning}\n onPress={onPress}\n testId={testId ? `${testId}-field` : undefined}\n >\n <OccupationBase\n {...others}\n ref={ref}\n type={type}\n value={value}\n warning={withWarning}\n onSubmit={onSubmit}\n className={undefined}\n style={undefined}\n />\n </Field>\n );\n },\n);\n\nFieldOccupation.displayName = 'Mirai:Core:FieldOccupation';\n\nFieldOccupation.propTypes = {\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n hotels: PropTypes.array,\n hideLabel: PropTypes.bool,\n inline: PropTypes.bool,\n tabIndex: PropTypes.any,\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n withWarning: PropTypes.bool,\n onPress: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { FieldOccupation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldOccupation.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_FieldOccupation","_prepareRoom","_helpers","_Field","_Occupation","_Occupation2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","FieldOccupation","exports","React","forwardRef","_ref","ref","compacted","error","hideLabel","hotels","inline","tabIndex","value","visible","warning","withWarning","onPress","onSubmit","others","translate","useLocale","config","dataSource","lodgingDenomination","individual","useStore","minRooms","testId","type","getAccommodationType","caption","getOccupationSummary","Array","map","prepareRoom","createElement","Field","forceRender","icon","ICON","PEOPLE","label","L10N","LABEL_WHO","undefined","concat","Occupation","className","style","displayName","propTypes","PropTypes","bool","array","any","arrayOf","SHAPE","VALUE","func"],"sources":["../../../../src/components/__shared__/FieldOccupation/FieldOccupation.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './FieldOccupation.l10n';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { getAccommodationType, getOccupationSummary, ICON } from '../../helpers';\nimport { Field } from '../Field';\nimport { Occupation as OccupationBase } from '../Occupation';\nimport { SHAPE } from '../Occupation/Occupation.constants';\n\nconst FieldOccupation = React.forwardRef(\n (\n {\n compacted,\n error,\n hideLabel,\n hotels = [],\n inline,\n tabIndex,\n value,\n visible,\n warning,\n withWarning,\n onPress,\n onSubmit,\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {} },\n } = useStore();\n\n const { minRooms = 1, testId } = others;\n const type = getAccommodationType({ dataSource, hotels, individual });\n const caption = getOccupationSummary(\n value || [...Array(minRooms)].map(() => prepareRoom(others.dataSource)),\n translate,\n type,\n );\n\n return (\n <Field\n {...others}\n caption={caption}\n compacted={compacted}\n error={error}\n forceRender={true}\n icon={ICON.PEOPLE}\n inline={inline}\n label={!hideLabel ? translate(L10N.LABEL_WHO) : undefined}\n tabIndex={tabIndex}\n visible={visible}\n warning={warning}\n onPress={onPress}\n testId={testId ? `${testId}-field` : undefined}\n >\n <OccupationBase\n {...others}\n ref={ref}\n type={type}\n value={value}\n warning={withWarning}\n onSubmit={onSubmit}\n className={undefined}\n style={undefined}\n />\n </Field>\n );\n },\n);\n\nFieldOccupation.displayName = 'Mirai:Core:FieldOccupation';\n\nFieldOccupation.propTypes = {\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n hotels: PropTypes.array,\n hideLabel: PropTypes.bool,\n inline: PropTypes.bool,\n tabIndex: PropTypes.any,\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n withWarning: PropTypes.bool,\n onPress: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { FieldOccupation };\n"],"mappings":"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"}
@@ -57,11 +57,8 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
57
57
  } else if (error && (0, _helpers.checkRoom)(nextValue, dataSource)) {
58
58
  handleValid();
59
59
  }
60
- console.log('>>>>>>>', dataSource, currentDataSource);
61
60
  if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);
62
61
  // ! TODO: Check why doesnt work witn non-hotels
63
- // eslint-disable-next-line no-console
64
- console.log('>>>>>>>', nextValue, value);
65
62
  if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);
66
63
 
67
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_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","Occupation","exports","React","forwardRef","_ref","ref","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","warning","onChange","onError","onSubmit","onValid","onWarning","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","checkRoom","handleValid","console","log","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","ERROR","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","Notification","small","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","concat","wide","row","header","Text","action","bold","id","LABEL_PLACE_TYPE_COUNT","PLACE","Button","preventDefault","transparent","onPress","ACTION_REMOVE","group","OccupationGroup","footer","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_SEARCH","displayName","propTypes","PropTypes","arrayOf","SHAPE","bool","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { DATASOURCE, ERROR, PLACE, SHAPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n warning,\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n onWarning = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onWarning();\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n console.log('>>>>>>>', dataSource, currentDataSource);\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n // eslint-disable-next-line no-console\n console.log('>>>>>>>', nextValue, value);\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if (warning === undefined) return;\n\n setWithWarning(warning);\n }, [warning]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View {...others} role=\"occupation\" ref={ref} className={styles(style.container, others.className)}>\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n <View key={`room:header:${roomIndex}`} row className={style.header}>\n <Text action bold>\n {translate({ id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` }, { roomIndex: roomIndex + 1 })}\n </Text>\n {value.length > minRooms && (\n <Button\n preventDefault\n small\n transparent\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Button>\n )}\n </View>\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n testId={`group-${groupIndex}`}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n <View row className={styles(style.footer)}>\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onWarning: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_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","Occupation","exports","React","forwardRef","_ref","ref","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","warning","onChange","onError","onSubmit","onValid","onWarning","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","checkRoom","handleValid","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","ERROR","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","Notification","small","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","concat","wide","row","header","Text","action","bold","id","LABEL_PLACE_TYPE_COUNT","PLACE","Button","preventDefault","transparent","onPress","ACTION_REMOVE","group","OccupationGroup","footer","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_SEARCH","displayName","propTypes","PropTypes","arrayOf","SHAPE","bool","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { DATASOURCE, ERROR, PLACE, SHAPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n warning,\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n onWarning = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onWarning();\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if (warning === undefined) return;\n\n setWithWarning(warning);\n }, [warning]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View {...others} role=\"occupation\" ref={ref} className={styles(style.container, others.className)}>\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n <View key={`room:header:${roomIndex}`} row className={style.header}>\n <Text action bold>\n {translate({ id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` }, { roomIndex: roomIndex + 1 })}\n </Text>\n {value.length > minRooms && (\n <Button\n preventDefault\n small\n transparent\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Button>\n )}\n </View>\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n testId={`group-${groupIndex}`}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n <View row className={styles(style.footer)}>\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onWarning: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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"}
@@ -70,10 +70,6 @@ const RatesExplorer = _ref => {
70
70
  }, []);
71
71
  (0, _react.useEffect)(() => {
72
72
  if (skeleton) return;
73
- console.log({
74
- currency,
75
- locale
76
- });
77
73
  (async () => setDataSource(await getDataSource()))();
78
74
  }, [currency, locale]);
79
75
  (0, _react.useEffect)(() => {
@@ -88,7 +84,6 @@ const RatesExplorer = _ref => {
88
84
  dataSource: occupation = []
89
85
  } = {}
90
86
  } = dataSource || {};
91
- console.log('>>>>>rooms', occupation, value === null || value === void 0 ? void 0 : value.occupation);
92
87
  !(value !== null && value !== void 0 && value.occupation) && occupation.length > 0 && handleChange('occupation', [...Array(minRooms)].map(() => Array.isArray(guests) ? guests.map(guest => ({
93
88
  ...guest,
94
89
  ages: new Array(guest.amount).fill(undefined)
@@ -204,7 +199,6 @@ const RatesExplorer = _ref => {
204
199
  promoCode = ''
205
200
  } = value;
206
201
  const role = offerId ? 'deals' : 'rooms';
207
- console.log(dataSource === null || dataSource === void 0 ? void 0 : dataSource.occupation, value === null || value === void 0 ? void 0 : value.occupation);
208
202
  return !skeleton ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
209
203
  role: role,
210
204
  className: (0, _ui.styles)(style.ratesExplorer, others.className)
@@ -1 +1 @@
1
- {"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_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","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","console","log","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n console.log({ currency, locale });\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n console.log('>>>>>rooms', occupation, value?.occupation);\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n console.log(dataSource?.occupation, value?.occupation);\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_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","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
@@ -129,13 +129,7 @@ const PerformanceManager = () => {
129
129
  } = {}
130
130
  } = store;
131
131
  if (place) {
132
- var _getPerformance;
133
- setPerformance((_getPerformance = (0, _helpers3.getPerformance)(config, isHotel ? hotelId : undefined)) === null || _getPerformance === void 0 ? void 0 : _getPerformance.filter(function () {
134
- let {
135
- type
136
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
137
- return type !== COMPARE;
138
- }));
132
+ setPerformance((0, _helpers3.getPerformance)(config, isHotel ? hotelId : undefined));
139
133
  }
140
134
  // eslint-disable-next-line react-hooks/exhaustive-deps
141
135
  }, [place]);
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","storePerformance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","setPerformance","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","config","isHotel","_getPerformance","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","loadScripts","then","find","_ref6","response","label","concat","getPerformanceLabel","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(\n getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","storePerformance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","setPerformance","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","config","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","loadScripts","then","find","_ref6","response","label","concat","getPerformanceLabel","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\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.355",
3
+ "version": "0.4.357",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",