@mirai/core 0.4.354 → 0.4.356
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.
- package/build/components/Finder/Finder.js +1 -1
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.constants.js +9 -0
- package/build/components/Rates/components/Item/components/Slider/Slider.constants.js.map +1 -0
- package/build/components/Rates/components/Item/components/Slider/Slider.js +14 -6
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js +1 -1
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.js +0 -3
- package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
- package/build/components/__shared__/RatesExplorer/RatesExplorer.js +0 -6
- package/build/components/__shared__/RatesExplorer/RatesExplorer.js.map +1 -1
- package/package.json +1 -1
|
@@ -448,7 +448,7 @@ const Finder = _ref => {
|
|
|
448
448
|
occupation: undefined
|
|
449
449
|
}),
|
|
450
450
|
onWarning: () => {
|
|
451
|
-
if (
|
|
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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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SCROLL_DELAY = exports.PRELOAD_IMAGES = void 0;
|
|
7
|
+
const PRELOAD_IMAGES = exports.PRELOAD_IMAGES = 3;
|
|
8
|
+
const SCROLL_DELAY = exports.SCROLL_DELAY = 300;
|
|
9
|
+
//# sourceMappingURL=Slider.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.constants.js","names":["PRELOAD_IMAGES","exports","SCROLL_DELAY"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.constants.js"],"sourcesContent":["const PRELOAD_IMAGES = 3;\n\nconst SCROLL_DELAY = 300;\n\nexport { PRELOAD_IMAGES, SCROLL_DELAY };\n"],"mappings":";;;;;;AAAA,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,CAAC;AAExB,MAAME,YAAY,GAAAD,OAAA,CAAAC,YAAA,GAAG,GAAG"}
|
|
@@ -9,7 +9,8 @@ var _locale = require("@mirai/locale");
|
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _Slider = require("./Slider.
|
|
12
|
+
var _Slider = require("./Slider.constants");
|
|
13
|
+
var _Slider2 = require("./Slider.l10n");
|
|
13
14
|
var style = _interopRequireWildcard(require("./Slider.module.css"));
|
|
14
15
|
var _helpers = require("../../../../../helpers");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -33,6 +34,9 @@ const Slider = _ref => {
|
|
|
33
34
|
onViewUrl = () => {},
|
|
34
35
|
...others
|
|
35
36
|
} = _ref;
|
|
37
|
+
const {
|
|
38
|
+
isMobile
|
|
39
|
+
} = (0, _ui.useDevice)();
|
|
36
40
|
const {
|
|
37
41
|
translate
|
|
38
42
|
} = (0, _locale.useLocale)();
|
|
@@ -66,15 +70,19 @@ const Slider = _ref => {
|
|
|
66
70
|
images,
|
|
67
71
|
indicator,
|
|
68
72
|
width,
|
|
69
|
-
onCounter
|
|
73
|
+
onCounter
|
|
74
|
+
}, isMobile ? {
|
|
75
|
+
preloadImages: _Slider.PRELOAD_IMAGES,
|
|
76
|
+
scrollDelay: _Slider.SCROLL_DELAY
|
|
77
|
+
} : {}, {
|
|
70
78
|
onChange: handleSliderIndex
|
|
71
79
|
}, sliderProps)), children, (url3D || urlVideo) && sliderIndex === 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
72
80
|
row: true,
|
|
73
81
|
className: style.buttons
|
|
74
82
|
}, urlVideo && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
|
|
75
|
-
tooltip: translate(
|
|
83
|
+
tooltip: translate(_Slider2.L10N.LABEL_VIEW_VIDEO),
|
|
76
84
|
onPress: () => onViewUrl({
|
|
77
|
-
title: translate(
|
|
85
|
+
title: translate(_Slider2.L10N.LABEL_VIEW_VIDEO),
|
|
78
86
|
url: urlVideo
|
|
79
87
|
})
|
|
80
88
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
@@ -83,9 +91,9 @@ const Slider = _ref => {
|
|
|
83
91
|
value: _helpers.ICON.PLAY,
|
|
84
92
|
className: style.icon
|
|
85
93
|
})), url3D && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
|
|
86
|
-
tooltip: translate(
|
|
94
|
+
tooltip: translate(_Slider2.L10N.LABEL_3D_VIEW),
|
|
87
95
|
onPress: () => onViewUrl({
|
|
88
|
-
title: translate(
|
|
96
|
+
title: translate(_Slider2.L10N.LABEL_3D_VIEW),
|
|
89
97
|
url: url3D
|
|
90
98
|
})
|
|
91
99
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Slider","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Slider","_ref","captions","children","height","images","indicator","media","url3D","urlVideo","metrics","width","onCounter","onViewUrl","others","translate","useLocale","sliderIndex","setSliderIndex","useState","sliderProps","className","slider","maxHeight","handleSliderIndex","index","Event","publish","EVENT","METRICS","id","concat","buttonProps","rounded","squared","transparent","button","createElement","View","counter","onChange","row","buttons","Button","tooltip","L10N","LABEL_VIEW_VIDEO","onPress","title","url","Icon","headline","level","value","ICON","PLAY","icon","LABEL_3D_VIEW","THREE_D_ROTATION","exports","displayName","propTypes","PropTypes","arrayOf","string","node","number","bool","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Slider as SliderBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './Slider.l10n';\nimport * as style from './Slider.module.css';\nimport { EVENT, ICON } from '../../../../../helpers';\n\nconst Slider = ({\n captions = [],\n children,\n height,\n images = [],\n indicator = true,\n media: { url3D, urlVideo } = {},\n metrics = 'RATES:ITEM',\n width,\n onCounter,\n onViewUrl = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const sliderProps = { className: [style.slider, others.className], style: { height, maxHeight: height } };\n\n const handleSliderIndex = (index) => {\n setSliderIndex(index);\n if (index > 0) Event.publish(EVENT.METRICS, { id: `${metrics}:SLIDER`, index });\n };\n\n // ! TODO: This should be part of the service of rates\n const buttonProps = { rounded: true, squared: true, transparent: true, className: style.button };\n\n return (\n <View {...sliderProps}>\n <SliderBase\n counter\n {...{
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Slider","_Slider2","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Slider","_ref","captions","children","height","images","indicator","media","url3D","urlVideo","metrics","width","onCounter","onViewUrl","others","isMobile","useDevice","translate","useLocale","sliderIndex","setSliderIndex","useState","sliderProps","className","slider","maxHeight","handleSliderIndex","index","Event","publish","EVENT","METRICS","id","concat","buttonProps","rounded","squared","transparent","button","createElement","View","counter","preloadImages","PRELOAD_IMAGES","scrollDelay","SCROLL_DELAY","onChange","row","buttons","Button","tooltip","L10N","LABEL_VIEW_VIDEO","onPress","title","url","Icon","headline","level","value","ICON","PLAY","icon","LABEL_3D_VIEW","THREE_D_ROTATION","exports","displayName","propTypes","PropTypes","arrayOf","string","node","number","bool","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Slider as SliderBase, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { PRELOAD_IMAGES, SCROLL_DELAY } from './Slider.constants';\nimport { L10N } from './Slider.l10n';\nimport * as style from './Slider.module.css';\nimport { EVENT, ICON } from '../../../../../helpers';\n\nconst Slider = ({\n captions = [],\n children,\n height,\n images = [],\n indicator = true,\n media: { url3D, urlVideo } = {},\n metrics = 'RATES:ITEM',\n width,\n onCounter,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const sliderProps = { className: [style.slider, others.className], style: { height, maxHeight: height } };\n\n const handleSliderIndex = (index) => {\n setSliderIndex(index);\n if (index > 0) Event.publish(EVENT.METRICS, { id: `${metrics}:SLIDER`, index });\n };\n\n // ! TODO: This should be part of the service of rates\n const buttonProps = { rounded: true, squared: true, transparent: true, className: style.button };\n\n return (\n <View {...sliderProps}>\n <SliderBase\n counter\n {...{\n captions,\n height,\n images,\n indicator,\n width,\n onCounter,\n ...(isMobile\n ? {\n preloadImages: PRELOAD_IMAGES,\n scrollDelay: SCROLL_DELAY,\n }\n : {}),\n }}\n onChange={handleSliderIndex}\n {...sliderProps}\n />\n\n {children}\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n {...buttonProps}\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n >\n <Icon headline level={2} value={ICON.PLAY} className={style.icon} />\n </Button>\n )}\n\n {url3D && (\n <Button\n {...buttonProps}\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n >\n <Icon headline level={2} value={ICON.THREE_D_ROTATION} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Mirai:Core:Rates:Item:Slider';\n\nSlider.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node,\n height: PropTypes.number,\n images: PropTypes.arrayOf(PropTypes.string),\n indicator: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n metrics: PropTypes.string,\n width: PropTypes.number,\n onCounter: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Slider };\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","
|
|
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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"}
|