@mirai/core 0.3.446 → 0.3.448
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.
|
@@ -200,10 +200,12 @@ const Finder = _ref => {
|
|
|
200
200
|
assistant();
|
|
201
201
|
};
|
|
202
202
|
const handleSubmit = function () {
|
|
203
|
+
var _value$calendar;
|
|
203
204
|
let {
|
|
204
205
|
nextValue = value
|
|
205
206
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
206
207
|
if (dataSource.places && value.place === undefined) return setFocus(_Finder2.VIEW.PLACE);
|
|
208
|
+
if (((_value$calendar = value.calendar) === null || _value$calendar === void 0 ? void 0 : _value$calendar.length) !== 2) return setFocus(_Finder2.VIEW.CALENDAR);
|
|
207
209
|
const [firstError] = Object.keys(error).filter(key => !!error[key]);
|
|
208
210
|
if (firstError) return setFocus(firstError);
|
|
209
211
|
setWarning(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: layout === 'column',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","dataSource","places","CALENDAR","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n 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 set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: layout === 'column',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,35 +3,75 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<style>
|
|
5
5
|
* {
|
|
6
|
-
font-family:
|
|
6
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
|
|
7
|
+
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
8
|
+
font-size: 16px;
|
|
9
|
+
line-height: 20px;
|
|
7
10
|
}
|
|
8
11
|
|
|
9
|
-
header
|
|
12
|
+
header *,
|
|
13
|
+
main strong,
|
|
14
|
+
main small {
|
|
15
|
+
color: #484848;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
header > * {
|
|
10
19
|
align-items: center;
|
|
11
|
-
border-bottom: solid 1px
|
|
12
|
-
|
|
20
|
+
border-bottom: solid 1px #dedede;
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: row;
|
|
23
|
+
justify-content: space-between;
|
|
13
24
|
}
|
|
14
25
|
|
|
15
|
-
header
|
|
16
|
-
font-size:
|
|
17
|
-
line-height:
|
|
26
|
+
header small {
|
|
27
|
+
font-size: 12px;
|
|
28
|
+
line-height: 16px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
header a {
|
|
32
|
+
margin-left: 12px;
|
|
33
|
+
text-decoration: none;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
header h1 {
|
|
37
|
+
font-size: 24px;
|
|
38
|
+
line-height: 24px;
|
|
18
39
|
margin: 0;
|
|
19
40
|
padding: 0;
|
|
20
41
|
}
|
|
21
42
|
|
|
22
|
-
header >
|
|
23
|
-
|
|
24
|
-
|
|
43
|
+
header > :first-child {
|
|
44
|
+
padding: 12px 16px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
header > :first-child * {
|
|
48
|
+
color: #6e6e6e;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
header > :first-child a {
|
|
52
|
+
font-size: 14px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
header > :last-child {
|
|
56
|
+
padding: 16px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
header > :last-child a {
|
|
60
|
+
font-weight: 500;
|
|
25
61
|
}
|
|
26
62
|
|
|
27
63
|
main {
|
|
28
|
-
|
|
64
|
+
background-color: #f6f6f6;
|
|
65
|
+
padding: 0 16px;
|
|
66
|
+
display: flex;
|
|
67
|
+
flex-direction: column;
|
|
68
|
+
align-items: center;
|
|
69
|
+
height: 80svh;
|
|
29
70
|
}
|
|
30
71
|
|
|
31
72
|
main > strong,
|
|
32
73
|
main > small {
|
|
33
74
|
text-align: center;
|
|
34
|
-
display: block;
|
|
35
75
|
}
|
|
36
76
|
|
|
37
77
|
main > * {
|
|
@@ -41,44 +81,39 @@
|
|
|
41
81
|
|
|
42
82
|
@media only screen and (width <= 820px) {
|
|
43
83
|
main {
|
|
44
|
-
padding-top:
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
main > strong,
|
|
48
|
-
main > span {
|
|
49
|
-
width: 90%;
|
|
84
|
+
padding-top: 64px;
|
|
50
85
|
}
|
|
51
86
|
|
|
52
87
|
main > strong {
|
|
53
|
-
font-size:
|
|
54
|
-
line-height:
|
|
88
|
+
font-size: 44px;
|
|
89
|
+
line-height: 56px;
|
|
55
90
|
}
|
|
56
91
|
|
|
57
92
|
main > small {
|
|
58
|
-
font-size:
|
|
59
|
-
line-height:
|
|
60
|
-
padding-top:
|
|
61
|
-
padding-bottom:
|
|
93
|
+
font-size: 16px;
|
|
94
|
+
line-height: 20px;
|
|
95
|
+
padding-top: 24px;
|
|
96
|
+
padding-bottom: 48px;
|
|
62
97
|
}
|
|
63
98
|
}
|
|
64
99
|
|
|
65
100
|
@media only screen and (width > 820px) {
|
|
66
101
|
main {
|
|
67
|
-
padding-top:
|
|
102
|
+
padding-top: 96px;
|
|
68
103
|
}
|
|
69
104
|
|
|
70
105
|
main > strong {
|
|
71
|
-
font-size:
|
|
72
|
-
line-height:
|
|
106
|
+
font-size: 96px;
|
|
107
|
+
line-height: 120px;
|
|
73
108
|
max-width: 75%;
|
|
74
109
|
}
|
|
75
110
|
|
|
76
111
|
main > small {
|
|
77
|
-
font-size:
|
|
78
|
-
line-height:
|
|
112
|
+
font-size: 24px;
|
|
113
|
+
line-height: 32px;
|
|
79
114
|
max-width: 50%;
|
|
80
|
-
padding-top:
|
|
81
|
-
padding-bottom:
|
|
115
|
+
padding-top: 24px;
|
|
116
|
+
padding-bottom: 64px;
|
|
82
117
|
}
|
|
83
118
|
}
|
|
84
119
|
</style>
|
|
@@ -86,20 +121,31 @@
|
|
|
86
121
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
87
122
|
<title>Monalisa - Hotel & Resort</title>
|
|
88
123
|
<link rel="preconnect" href="https://dictionary.mirai.com" />
|
|
89
|
-
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
90
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
91
124
|
<link rel="preconnect" href="https://reservation.mirai.com" />
|
|
92
|
-
<link rel="preconnect" href="https://i.pravatar.cc" />
|
|
93
125
|
</head>
|
|
94
126
|
<body>
|
|
95
|
-
<div data-mirai-engine="mirai_tr" data-init="false"></div>
|
|
96
|
-
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
97
127
|
<div id="mirai" data-mirai-id="100379008"></div>
|
|
98
128
|
|
|
99
129
|
<header>
|
|
100
|
-
<
|
|
101
|
-
|
|
130
|
+
<div>
|
|
131
|
+
<small>Contact us directly at +34 (0) 129 039 193</small>
|
|
132
|
+
<nav>
|
|
133
|
+
<a href="#">EUR</a>
|
|
134
|
+
<a href="#">English</a>
|
|
135
|
+
</nav>
|
|
136
|
+
</div>
|
|
137
|
+
<div>
|
|
138
|
+
<div>
|
|
139
|
+
<h1>monalisa</h1>
|
|
140
|
+
<small>Hotel & Resort</small>
|
|
141
|
+
</div>
|
|
142
|
+
<nav>
|
|
143
|
+
<a href="#">■ Login</a>
|
|
144
|
+
<a href="#">Signup</a>
|
|
145
|
+
</nav>
|
|
146
|
+
</div>
|
|
102
147
|
</header>
|
|
148
|
+
|
|
103
149
|
<main>
|
|
104
150
|
<strong>Discover the Serenity of a Perfect Stay</strong>
|
|
105
151
|
<small>
|
|
@@ -108,7 +154,6 @@
|
|
|
108
154
|
<div data-mirai-component="finder"></div>
|
|
109
155
|
</main>
|
|
110
156
|
|
|
111
|
-
<!-- @mirai/core -->
|
|
112
157
|
<script async type="module" defer src="../../src/index.js"></script>
|
|
113
158
|
</body>
|
|
114
159
|
</html>
|