@mirai/core 0.4.5 → 0.4.6

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.
@@ -259,8 +259,8 @@ const Finder = _ref => {
259
259
  } = store;
260
260
  const id = type !== HOTEL ? isHotel && ids.length === 1 ? ids[0] : undefined : idHotel;
261
261
  const is = {
262
- column: isMobile || layout === 'column',
263
- compacted: compacted && isMobile || compacted && !isMobile && !focus,
262
+ column: layout === 'column',
263
+ compacted: layout !== 'column' && (isMobile || compacted && !focus),
264
264
  rates: components.rates !== undefined
265
265
  };
266
266
  const fieldProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_Core","_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","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","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","handleFinder","calendar","undefined","handleSubmit","nextValue","handlePerformanceReady","FINDER_READY","event","subscribe","EVENT_CORE","PERFORMANCE_READY","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","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","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 } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { EVENT as EVENT_CORE } from '../../Core.constants';\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 = 'finder',\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, 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 === '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 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 handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n const handlePerformanceReady = () => {\n !onSubmit && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n };\n\n Event.subscribe(EVENT_CORE.PERFORMANCE_READY, handlePerformanceReady);\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => {\n Event.unsubscribe(EVENT_CORE.PERFORMANCE_READY, handlePerformanceReady);\n Event.unsubscribe(EVENT.FINDER, handleFinder);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_Core","_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","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","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","handleFinder","calendar","undefined","handleSubmit","nextValue","handlePerformanceReady","FINDER_READY","event","subscribe","EVENT_CORE","PERFORMANCE_READY","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","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","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 } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { EVENT as EVENT_CORE } from '../../Core.constants';\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 = 'finder',\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, 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 === '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 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 handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n const handlePerformanceReady = () => {\n !onSubmit && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n };\n\n Event.subscribe(EVENT_CORE.PERFORMANCE_READY, handlePerformanceReady);\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => {\n Event.unsubscribe(EVENT_CORE.PERFORMANCE_READY, handlePerformanceReady);\n Event.unsubscribe(EVENT.FINDER, handleFinder);\n };\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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"}
@@ -3210,64 +3210,158 @@ exports[`<Finder> type:chain prop:assisted 1`] = `
3210
3210
  </DocumentFragment>
3211
3211
  `;
3212
3212
 
3213
- exports[`<Finder> type:chain prop:compact 1`] = `
3213
+ exports[`<Finder> type:chain prop:compacted 1`] = `
3214
3214
  <DocumentFragment>
3215
- <ui-finder
3215
+ <ui-finder-compact
3216
3216
  class="view row"
3217
3217
  >
3218
- <ui-layer
3219
- class="container"
3218
+ <ui-pressable
3219
+ class="pressable"
3220
+ tabindex="0"
3220
3221
  >
3221
- <ui-pressable
3222
- class="pressable"
3223
- tabindex="1"
3222
+ <ui-icon
3223
+ class="icon headline-3"
3224
3224
  >
3225
- <ui-icon
3226
- class="icon headline-3"
3225
+ <svg
3226
+ fill="currentColor"
3227
+ height="1em"
3228
+ stroke="currentColor"
3229
+ stroke-width="0"
3230
+ viewBox="0 0 24 24"
3231
+ width="1em"
3232
+ xmlns="http://www.w3.org/2000/svg"
3227
3233
  >
3228
- <svg
3234
+ <path
3235
+ d="M0 0h24v24H0V0z"
3236
+ fill="none"
3237
+ />
3238
+ <path
3239
+ d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"
3240
+ />
3241
+ </svg>
3242
+ </ui-icon>
3243
+ <ui-text
3244
+ class="text action"
3245
+ >
3246
+ common.label.check
3247
+ <ui-text
3248
+ style="text-decoration: underline;"
3249
+ >
3250
+ in ─ common.label.check
3251
+ </ui-text>
3252
+ out
3253
+ </ui-text>
3254
+ </ui-pressable>
3255
+ <ui-pressable
3256
+ class="pressable"
3257
+ tabindex="0"
3258
+ >
3259
+ <ui-icon
3260
+ class="icon headline-3"
3261
+ >
3262
+ <svg
3263
+ fill="currentColor"
3264
+ height="1em"
3265
+ stroke="currentColor"
3266
+ stroke-width="0"
3267
+ viewBox="0 0 24 24"
3268
+ width="1em"
3269
+ xmlns="http://www.w3.org/2000/svg"
3270
+ >
3271
+ <path
3272
+ d="M0 0h24v24H0z"
3273
+ fill="none"
3274
+ />
3275
+ <path
3276
+ d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24zM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zM9 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"
3277
+ />
3278
+ </svg>
3279
+ </ui-icon>
3280
+ <ui-text
3281
+ class="text action"
3282
+ >
3283
+ · common.label.accommodation_type
3284
+ </ui-text>
3285
+ </ui-pressable>
3286
+ <ui-pressable
3287
+ class="pressable"
3288
+ tabindex="0"
3289
+ >
3290
+ <ui-icon
3291
+ class="icon headline-3"
3292
+ >
3293
+ <svg
3294
+ fill="none"
3295
+ height="1em"
3296
+ stroke="currentColor"
3297
+ stroke-linecap="round"
3298
+ stroke-linejoin="round"
3299
+ stroke-width="2"
3300
+ viewBox="0 0 24 24"
3301
+ width="1em"
3302
+ xmlns="http://www.w3.org/2000/svg"
3303
+ >
3304
+ <path
3305
+ d="M0 0h24v24H0z"
3306
+ fill="none"
3307
+ stroke="none"
3308
+ />
3309
+ <path
3310
+ d="M9 15l6 -6"
3311
+ />
3312
+ <circle
3313
+ cx="9.5"
3314
+ cy="9.5"
3229
3315
  fill="currentColor"
3230
- height="1em"
3231
- stroke="currentColor"
3232
- stroke-width="0"
3233
- viewBox="0 0 24 24"
3234
- width="1em"
3235
- xmlns="http://www.w3.org/2000/svg"
3236
- >
3237
- <path
3238
- d="M0 0h24v24H0V0z"
3239
- fill="none"
3240
- />
3241
- <path
3242
- d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"
3243
- />
3244
- </svg>
3245
- </ui-icon>
3246
- <ui-view
3247
- class="view"
3316
+ r=".5"
3317
+ />
3318
+ <circle
3319
+ cx="14.5"
3320
+ cy="14.5"
3321
+ fill="currentColor"
3322
+ r=".5"
3323
+ />
3324
+ <path
3325
+ d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"
3326
+ />
3327
+ </svg>
3328
+ </ui-icon>
3329
+ </ui-pressable>
3330
+ <ui-button
3331
+ class="pressable button small squared"
3332
+ tabindex="0"
3333
+ >
3334
+ <ui-icon
3335
+ class="icon headline-3"
3336
+ >
3337
+ <svg
3338
+ fill="currentColor"
3339
+ height="1em"
3340
+ stroke="currentColor"
3341
+ stroke-width="0"
3342
+ viewBox="0 0 24 24"
3343
+ width="1em"
3344
+ xmlns="http://www.w3.org/2000/svg"
3248
3345
  >
3249
- <ui-text
3250
- class="text small"
3251
- >
3252
- finder.label.when
3253
- </ui-text>
3254
- <ui-text
3255
- class="text action"
3256
- >
3257
- common.label.check
3258
- <ui-text
3259
- style="text-decoration: underline;"
3260
- >
3261
- in ─ common.label.check
3262
- </ui-text>
3263
- out
3264
- </ui-text>
3265
- </ui-view>
3266
- </ui-pressable>
3267
- </ui-layer>
3346
+ <path
3347
+ d="M0 0h24v24H0V0z"
3348
+ fill="none"
3349
+ />
3350
+ <path
3351
+ d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
3352
+ />
3353
+ </svg>
3354
+ </ui-icon>
3355
+ </ui-button>
3356
+ </ui-finder-compact>
3357
+ <ui-finder
3358
+ class="view row"
3359
+ >
3360
+ <ui-layer
3361
+ class="container"
3362
+ />
3268
3363
  <ui-layer-content
3269
3364
  class="layer hidden"
3270
- style="left: 0px; top: 0px;"
3271
3365
  >
3272
3366
  <ui-view
3273
3367
  class="view"
@@ -4490,57 +4584,9 @@ exports[`<Finder> type:chain prop:compact 1`] = `
4490
4584
  />
4491
4585
  <ui-layer
4492
4586
  class="container"
4493
- >
4494
- <ui-pressable
4495
- class="pressable"
4496
- tabindex="0"
4497
- >
4498
- <ui-icon
4499
- class="icon headline-3"
4500
- >
4501
- <svg
4502
- fill="currentColor"
4503
- height="1em"
4504
- stroke="currentColor"
4505
- stroke-width="0"
4506
- viewBox="0 0 24 24"
4507
- width="1em"
4508
- xmlns="http://www.w3.org/2000/svg"
4509
- >
4510
- <path
4511
- d="M0 0h24v24H0z"
4512
- fill="none"
4513
- />
4514
- <path
4515
- d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24zM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zM9 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"
4516
- />
4517
- </svg>
4518
- </ui-icon>
4519
- <ui-view
4520
- class="view"
4521
- >
4522
- <ui-text
4523
- class="text small"
4524
- >
4525
- finder.label.who
4526
- </ui-text>
4527
- <ui-text
4528
- class="text action"
4529
- >
4530
- 2 common.label.guest
4531
- <ui-text
4532
- style="text-decoration: underline;"
4533
- >
4534
- type
4535
- </ui-text>
4536
- plural · 1 common.label.accommodation_type
4537
- </ui-text>
4538
- </ui-view>
4539
- </ui-pressable>
4540
- </ui-layer>
4587
+ />
4541
4588
  <ui-layer-content
4542
4589
  class="layer hidden"
4543
- style="left: 0px; top: 0px;"
4544
4590
  >
4545
4591
  <ui-view
4546
4592
  class="view"
@@ -4735,10 +4781,12 @@ exports[`<Finder> type:chain prop:compact 1`] = `
4735
4781
  />
4736
4782
  <ui-layer
4737
4783
  class="container"
4784
+ />
4785
+ <ui-layer-content
4786
+ class="layer hidden"
4738
4787
  >
4739
- <ui-pressable
4740
- class="pressable"
4741
- tabindex="0"
4788
+ <ui-view
4789
+ class="view row"
4742
4790
  >
4743
4791
  <ui-icon
4744
4792
  class="icon headline-3"
@@ -4779,38 +4827,15 @@ exports[`<Finder> type:chain prop:compact 1`] = `
4779
4827
  />
4780
4828
  </svg>
4781
4829
  </ui-icon>
4782
- <ui-view
4783
- class="view"
4784
- >
4785
- <ui-text
4786
- class="text small"
4787
- >
4788
- common.label.promotion
4789
- </ui-text>
4790
- <ui-view
4791
- class="view row"
4792
- >
4793
- <input
4794
- class="input"
4795
- name="mirai:finder:promocode"
4796
- placeholder="common.label.promo_code"
4797
- type="text"
4798
- value=""
4799
- />
4800
- </ui-view>
4801
- </ui-view>
4802
- </ui-pressable>
4803
- </ui-layer>
4804
- <ui-layer-content
4805
- class="layer hidden"
4806
- style="left: 0px; top: 0px;"
4807
- />
4808
- <ui-button
4809
- class="pressable button large"
4810
- tabindex="0"
4811
- >
4812
- common.action.search
4813
- </ui-button>
4830
+ <input
4831
+ class="input"
4832
+ name="mirai:finder:promocode"
4833
+ placeholder="common.label.promo_code"
4834
+ type="text"
4835
+ value=""
4836
+ />
4837
+ </ui-view>
4838
+ </ui-layer-content>
4814
4839
  </ui-finder>
4815
4840
  </DocumentFragment>
4816
4841
  `;
@@ -14456,64 +14481,158 @@ exports[`<Finder> type:hotel prop:assisted 1`] = `
14456
14481
  </DocumentFragment>
14457
14482
  `;
14458
14483
 
14459
- exports[`<Finder> type:hotel prop:compact 1`] = `
14484
+ exports[`<Finder> type:hotel prop:compacted 1`] = `
14460
14485
  <DocumentFragment>
14461
- <ui-finder
14486
+ <ui-finder-compact
14462
14487
  class="view row"
14463
14488
  >
14464
- <ui-layer
14465
- class="container"
14489
+ <ui-pressable
14490
+ class="pressable"
14491
+ tabindex="0"
14466
14492
  >
14467
- <ui-pressable
14468
- class="pressable"
14469
- tabindex="1"
14493
+ <ui-icon
14494
+ class="icon headline-3"
14470
14495
  >
14471
- <ui-icon
14472
- class="icon headline-3"
14496
+ <svg
14497
+ fill="currentColor"
14498
+ height="1em"
14499
+ stroke="currentColor"
14500
+ stroke-width="0"
14501
+ viewBox="0 0 24 24"
14502
+ width="1em"
14503
+ xmlns="http://www.w3.org/2000/svg"
14473
14504
  >
14474
- <svg
14505
+ <path
14506
+ d="M0 0h24v24H0V0z"
14507
+ fill="none"
14508
+ />
14509
+ <path
14510
+ d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"
14511
+ />
14512
+ </svg>
14513
+ </ui-icon>
14514
+ <ui-text
14515
+ class="text action"
14516
+ >
14517
+ common.label.check
14518
+ <ui-text
14519
+ style="text-decoration: underline;"
14520
+ >
14521
+ in ─ common.label.check
14522
+ </ui-text>
14523
+ out
14524
+ </ui-text>
14525
+ </ui-pressable>
14526
+ <ui-pressable
14527
+ class="pressable"
14528
+ tabindex="0"
14529
+ >
14530
+ <ui-icon
14531
+ class="icon headline-3"
14532
+ >
14533
+ <svg
14534
+ fill="currentColor"
14535
+ height="1em"
14536
+ stroke="currentColor"
14537
+ stroke-width="0"
14538
+ viewBox="0 0 24 24"
14539
+ width="1em"
14540
+ xmlns="http://www.w3.org/2000/svg"
14541
+ >
14542
+ <path
14543
+ d="M0 0h24v24H0z"
14544
+ fill="none"
14545
+ />
14546
+ <path
14547
+ d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24zM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zM9 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"
14548
+ />
14549
+ </svg>
14550
+ </ui-icon>
14551
+ <ui-text
14552
+ class="text action"
14553
+ >
14554
+ · common.label.accommodation_type
14555
+ </ui-text>
14556
+ </ui-pressable>
14557
+ <ui-pressable
14558
+ class="pressable"
14559
+ tabindex="0"
14560
+ >
14561
+ <ui-icon
14562
+ class="icon headline-3"
14563
+ >
14564
+ <svg
14565
+ fill="none"
14566
+ height="1em"
14567
+ stroke="currentColor"
14568
+ stroke-linecap="round"
14569
+ stroke-linejoin="round"
14570
+ stroke-width="2"
14571
+ viewBox="0 0 24 24"
14572
+ width="1em"
14573
+ xmlns="http://www.w3.org/2000/svg"
14574
+ >
14575
+ <path
14576
+ d="M0 0h24v24H0z"
14577
+ fill="none"
14578
+ stroke="none"
14579
+ />
14580
+ <path
14581
+ d="M9 15l6 -6"
14582
+ />
14583
+ <circle
14584
+ cx="9.5"
14585
+ cy="9.5"
14475
14586
  fill="currentColor"
14476
- height="1em"
14477
- stroke="currentColor"
14478
- stroke-width="0"
14479
- viewBox="0 0 24 24"
14480
- width="1em"
14481
- xmlns="http://www.w3.org/2000/svg"
14482
- >
14483
- <path
14484
- d="M0 0h24v24H0V0z"
14485
- fill="none"
14486
- />
14487
- <path
14488
- d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"
14489
- />
14490
- </svg>
14491
- </ui-icon>
14492
- <ui-view
14493
- class="view"
14587
+ r=".5"
14588
+ />
14589
+ <circle
14590
+ cx="14.5"
14591
+ cy="14.5"
14592
+ fill="currentColor"
14593
+ r=".5"
14594
+ />
14595
+ <path
14596
+ d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"
14597
+ />
14598
+ </svg>
14599
+ </ui-icon>
14600
+ </ui-pressable>
14601
+ <ui-button
14602
+ class="pressable button small squared"
14603
+ tabindex="0"
14604
+ >
14605
+ <ui-icon
14606
+ class="icon headline-3"
14607
+ >
14608
+ <svg
14609
+ fill="currentColor"
14610
+ height="1em"
14611
+ stroke="currentColor"
14612
+ stroke-width="0"
14613
+ viewBox="0 0 24 24"
14614
+ width="1em"
14615
+ xmlns="http://www.w3.org/2000/svg"
14494
14616
  >
14495
- <ui-text
14496
- class="text small"
14497
- >
14498
- finder.label.when
14499
- </ui-text>
14500
- <ui-text
14501
- class="text action"
14502
- >
14503
- common.label.check
14504
- <ui-text
14505
- style="text-decoration: underline;"
14506
- >
14507
- in ─ common.label.check
14508
- </ui-text>
14509
- out
14510
- </ui-text>
14511
- </ui-view>
14512
- </ui-pressable>
14513
- </ui-layer>
14617
+ <path
14618
+ d="M0 0h24v24H0V0z"
14619
+ fill="none"
14620
+ />
14621
+ <path
14622
+ d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
14623
+ />
14624
+ </svg>
14625
+ </ui-icon>
14626
+ </ui-button>
14627
+ </ui-finder-compact>
14628
+ <ui-finder
14629
+ class="view row"
14630
+ >
14631
+ <ui-layer
14632
+ class="container"
14633
+ />
14514
14634
  <ui-layer-content
14515
14635
  class="layer hidden"
14516
- style="left: 0px; top: 0px;"
14517
14636
  >
14518
14637
  <ui-view
14519
14638
  class="view"
@@ -15736,57 +15855,9 @@ exports[`<Finder> type:hotel prop:compact 1`] = `
15736
15855
  />
15737
15856
  <ui-layer
15738
15857
  class="container"
15739
- >
15740
- <ui-pressable
15741
- class="pressable"
15742
- tabindex="0"
15743
- >
15744
- <ui-icon
15745
- class="icon headline-3"
15746
- >
15747
- <svg
15748
- fill="currentColor"
15749
- height="1em"
15750
- stroke="currentColor"
15751
- stroke-width="0"
15752
- viewBox="0 0 24 24"
15753
- width="1em"
15754
- xmlns="http://www.w3.org/2000/svg"
15755
- >
15756
- <path
15757
- d="M0 0h24v24H0z"
15758
- fill="none"
15759
- />
15760
- <path
15761
- d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24zM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zM9 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"
15762
- />
15763
- </svg>
15764
- </ui-icon>
15765
- <ui-view
15766
- class="view"
15767
- >
15768
- <ui-text
15769
- class="text small"
15770
- >
15771
- finder.label.who
15772
- </ui-text>
15773
- <ui-text
15774
- class="text action"
15775
- >
15776
- 2 common.label.guest
15777
- <ui-text
15778
- style="text-decoration: underline;"
15779
- >
15780
- type
15781
- </ui-text>
15782
- plural · 1 common.label.accommodation_type
15783
- </ui-text>
15784
- </ui-view>
15785
- </ui-pressable>
15786
- </ui-layer>
15858
+ />
15787
15859
  <ui-layer-content
15788
15860
  class="layer hidden"
15789
- style="left: 0px; top: 0px;"
15790
15861
  >
15791
15862
  <ui-view
15792
15863
  class="view"
@@ -15981,10 +16052,12 @@ exports[`<Finder> type:hotel prop:compact 1`] = `
15981
16052
  />
15982
16053
  <ui-layer
15983
16054
  class="container"
16055
+ />
16056
+ <ui-layer-content
16057
+ class="layer hidden"
15984
16058
  >
15985
- <ui-pressable
15986
- class="pressable"
15987
- tabindex="0"
16059
+ <ui-view
16060
+ class="view row"
15988
16061
  >
15989
16062
  <ui-icon
15990
16063
  class="icon headline-3"
@@ -16025,38 +16098,15 @@ exports[`<Finder> type:hotel prop:compact 1`] = `
16025
16098
  />
16026
16099
  </svg>
16027
16100
  </ui-icon>
16028
- <ui-view
16029
- class="view"
16030
- >
16031
- <ui-text
16032
- class="text small"
16033
- >
16034
- common.label.promotion
16035
- </ui-text>
16036
- <ui-view
16037
- class="view row"
16038
- >
16039
- <input
16040
- class="input"
16041
- name="mirai:finder:promocode"
16042
- placeholder="common.label.promo_code"
16043
- type="text"
16044
- value=""
16045
- />
16046
- </ui-view>
16047
- </ui-view>
16048
- </ui-pressable>
16049
- </ui-layer>
16050
- <ui-layer-content
16051
- class="layer hidden"
16052
- style="left: 0px; top: 0px;"
16053
- />
16054
- <ui-button
16055
- class="pressable button large"
16056
- tabindex="0"
16057
- >
16058
- common.action.search
16059
- </ui-button>
16101
+ <input
16102
+ class="input"
16103
+ name="mirai:finder:promocode"
16104
+ placeholder="common.label.promo_code"
16105
+ type="text"
16106
+ value=""
16107
+ />
16108
+ </ui-view>
16109
+ </ui-layer-content>
16060
16110
  </ui-finder>
16061
16111
  </DocumentFragment>
16062
16112
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
@@ -57,8 +57,7 @@ export const Home = () => {
57
57
  </View>
58
58
  )}
59
59
 
60
- <View data-mirai-component="finder" data-mobile="false" data-test-id={testId} />
61
- <View data-mirai-component="finder" data-compacted data-mobile="true" data-test-id={testId} />
60
+ <View data-mirai-component="finder" data-test-id={testId} />
62
61
  </View>
63
62
 
64
63
  <View row={!isMobile} tag="section" className={[style.section, style.spaceBetween, style.wrapper]}>