@mirai/core 0.3.451 → 0.3.453
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.
|
@@ -110,8 +110,7 @@ const BannerLoyalty = _ref => {
|
|
|
110
110
|
className: [style.button, style.buttonLeft],
|
|
111
111
|
onPress: () => handlePressBenefit(scrollIndex - 1)
|
|
112
112
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
113
|
-
value: _helpers.ICON.LEFT
|
|
114
|
-
className: style.icon
|
|
113
|
+
value: _helpers.ICON.LEFT
|
|
115
114
|
})), /*#__PURE__*/_react.default.createElement(isMobile ? _ui.View : _ui.ScrollView, {
|
|
116
115
|
...(!isMobile ? {
|
|
117
116
|
horizontal: !isMobile,
|
|
@@ -141,8 +140,7 @@ const BannerLoyalty = _ref => {
|
|
|
141
140
|
className: [style.button, style.buttonRight],
|
|
142
141
|
onPress: () => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)
|
|
143
142
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
144
|
-
value: lastBenefit ? _helpers.ICON.REPLAY : _helpers.ICON.RIGHT
|
|
145
|
-
className: style.icon
|
|
143
|
+
value: lastBenefit ? _helpers.ICON.REPLAY : _helpers.ICON.RIGHT
|
|
146
144
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
147
145
|
light: true,
|
|
148
146
|
action: !isMobile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","handlePressBenefit","index","getNormalizedLocale","actionProps","action","bold","small","className","textInline","buttonProps","secondary","squared","rounded","lastBenefit","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","position","Button","button","buttonLeft","onPress","Icon","ICON","LEFT","icon","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","undefined","accent","AMENITY","buttonRight","REPLAY","RIGHT","light","Fragment","Action","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n const buttonProps = { secondary: true, squared: true, rounded: true };\n\n const lastBenefit = scrollIndex === benefits.length - 4;\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={style.text}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View wide style={{ position: 'relative' }}>\n {!isMobile && scrollIndex !== 0 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonLeft]}\n onPress={() => handlePressBenefit(scrollIndex - 1)}\n >\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonRight]}\n onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}\n >\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} className={style.icon} />\n </Button>\n )}\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","handlePressBenefit","index","getNormalizedLocale","actionProps","action","bold","small","className","textInline","buttonProps","secondary","squared","rounded","lastBenefit","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","position","Button","button","buttonLeft","onPress","Icon","ICON","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","accent","AMENITY","buttonRight","REPLAY","RIGHT","light","Fragment","Action","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n const buttonProps = { secondary: true, squared: true, rounded: true };\n\n const lastBenefit = scrollIndex === benefits.length - 4;\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={style.text}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View wide style={{ position: 'relative' }}>\n {!isMobile && scrollIndex !== 0 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonLeft]}\n onPress={() => handlePressBenefit(scrollIndex - 1)}\n >\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonRight]}\n onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}\n >\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
|
|
@@ -197,7 +197,7 @@ const Finder = _ref => {
|
|
|
197
197
|
const handlePlaceChange = async place => {
|
|
198
198
|
setWarning(false);
|
|
199
199
|
handleChange(_Finder2.VIEW.PLACE, place);
|
|
200
|
-
assistant();
|
|
200
|
+
!is.rates && assistant();
|
|
201
201
|
};
|
|
202
202
|
const handleSubmit = function () {
|
|
203
203
|
var _value$calendar;
|
|
@@ -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","_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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"}
|
|
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","is","rates","assistant","_value$calendar","dataSource","places","CALENDAR","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","promocode","ids","getDataSource","hotel","idHotel","column","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 !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 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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"}
|