@mirai/core 0.3.47 → 0.3.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Finder/Finder.js +3 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +3478 -208
- package/build/components/Rates/Rates.js +9 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +14 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +6 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +4 -0
- package/build/components/Rates/components/Item/components/Discount/Discount.js +2 -2
- package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
- package/build/components/Rates/components/Item/components/Discount/Discount.module.css +0 -7
- package/build/services/Rates/get.js +2 -2
- package/build/services/Rates/get.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,7 @@ const {
|
|
|
29
29
|
const Finder = _ref => {
|
|
30
30
|
var _dataSource$places, _dataSource$promo, _dataSource$cta;
|
|
31
31
|
let {
|
|
32
|
+
assisted = true,
|
|
32
33
|
compact,
|
|
33
34
|
layout,
|
|
34
35
|
text,
|
|
@@ -121,6 +122,7 @@ const Finder = _ref => {
|
|
|
121
122
|
});else window.location.href = forwarderUrl;
|
|
122
123
|
};
|
|
123
124
|
const assistant = () => {
|
|
125
|
+
if (!assisted) return setVisible(undefined);
|
|
124
126
|
const {
|
|
125
127
|
calendar = []
|
|
126
128
|
} = value;
|
|
@@ -245,6 +247,7 @@ const Finder = _ref => {
|
|
|
245
247
|
};
|
|
246
248
|
exports.Finder = Finder;
|
|
247
249
|
Finder.propTypes = {
|
|
250
|
+
assisted: _propTypes.default.bool,
|
|
248
251
|
compact: _propTypes.default.bool,
|
|
249
252
|
layout: _propTypes.default.oneOf(['column']),
|
|
250
253
|
text: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_shared__","_helpers2","_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","Finder","_ref","_dataSource$places","_dataSource$promo","_dataSource$cta","compact","layout","text","onChange","onExpand","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","finder","storeFinder","forwarder","locale","type","store","useStore","error","setError","useState","setValue","parseValue","visible","setVisible","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","JSON","stringify","concat","handleExpand","setTimeout","handleChange","field","fieldValue","next","handleSubmit","firstError","keys","filter","forwarderUrl","getForwarderUrl","window","location","href","assistant","calendar","VIEW","PLACE","CALENDAR","OCCUPATION","place","promocode","testId","dataSource","getDataSource","id","ids","isHotel","hotel","idHotel","createElement","Compact","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","onPress","Places","autoColumn","event","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","promo","PROMOCODE","onEnter","onLeave","Button","large","wide","button","cta","ACTION_BOOK","exports","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { 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 { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\n\nconst { HOTEL } = TYPE;\n\nconst Finder = ({ compact, layout, text, onChange = () => {}, onExpand = () => {}, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [error, setError] = useState({});\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setVisible(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n const handleExpand = (value) => {\n setVisible(value);\n setTimeout(onExpand, 10);\n };\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n set({ finder: next });\n };\n\n const handleSubmit = () => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setVisible(firstError);\n\n setVisible(undefined);\n const forwarderUrl = getForwarderUrl({ ...value, currency, forwarder, locale, store });\n\n if (onSubmit) onSubmit({ ...value, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (visible === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setVisible(VIEW.CALENDAR);\n else if (visible === VIEW.CALENDAR && !visited.occupation) setVisible(VIEW.OCCUPATION);\n else setVisible(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n return compact && !visible ? (\n <Compact {...{ value, dataSource }} onExpand={handleExpand} onSubmit={handleSubmit} />\n ) : (\n <View\n {...others}\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\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={visible === VIEW.PLACE}\n onPress={() => setVisible(visible !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n >\n <Places\n autoColumn={visible === VIEW.PLACE}\n dataSource={dataSource.places.options}\n value={place.value}\n onChange={(place, event) => {\n handleChange(VIEW.PLACE, place, event);\n !isMobile && assistant();\n }}\n onSubmit={isMobile ? assistant : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\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={visible === VIEW.CALENDAR}\n onPress={() => setVisible(visible !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, type, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (!isMobile && calendar.length === 2) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? assistant : undefined}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\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 value={occupation}\n visible={visible === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && visible !== VIEW.OCCUPATION) setVisible(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n placeholder={dataSource.promo?.placeholder}\n value={promocode}\n visible={visible === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={() => setVisible(VIEW.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || dataSource.cta?.placeholder || translate(L10N.ACTION_BOOK)}\n </Button>\n </View>\n );\n};\n\nFinder.propTypes = {\n compact: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AASA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,WAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AAAgD,SAAAiB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAtB,uBAAAkC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEhD,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AAEtB,MAAMC,MAAM,GAAGC,IAAA,IAA8F;EAAA,IAAAC,kBAAA,EAAAC,iBAAA,EAAAC,eAAA;EAAA,IAA7F;IAAEC,OAAO;IAAEC,MAAM;IAAEC,IAAI;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAV,IAAA;EACtG,MAAM;IAAEW;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJ/B,GAAG;IACHgC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAG3B,KAAK;MAAE,GAAG4B;IAAM;EACpF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACX,KAAK,EAAEY,QAAQ,CAAC,GAAG,IAAAD,eAAQ,EAAC,IAAAE,mBAAU,EAACV,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACW,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC,CAAC,CAAC;EAE1C,IAAAO,gBAAS,EAAC,MAAM;IACd,IAAI,EAACf,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEgB,UAAU,GAAEnD,GAAG,CAAC;MAAEkC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEgB,UAAU,EAAE,CAAC,IAAAC,qBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IACxG,IAAI5B,QAAQ,EAAE;IAEd,MAAM6B,kBAAkB,GAAG,SAAAA,CAAA;MAAA,IAAAC,YAAA;MAAA,IAAC;QAAElD;MAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkD,SAAA,GAAAlD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,GAAAiD,YAAA,GAACzB,GAAG,CAAC2B,OAAO,cAAAF,YAAA,eAAXA,YAAA,CAAaG,QAAQ,CAACrD,MAAM,CAAC,KAAI0C,UAAU,CAACS,SAAS,CAAC;IAAA;IACvGG,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,kBAAkB,EAAE,IAAI,CAAC;IAE5D,OAAO,MAAMK,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,kBAAkB,EAAE,IAAI,CAAC;IAC5E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAJ,gBAAS,EACP,MAAMY,IAAI,CAACC,SAAS,CAAC/B,KAAK,CAAC,KAAK8B,IAAI,CAACC,SAAS,CAAC,IAAAlB,mBAAU,EAACV,WAAW,CAAC,CAAC,IAAIS,QAAQ,CAAC,IAAAC,mBAAU,EAACV,WAAW,CAAC,CAAC;EAC5G;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAe,gBAAS,EAAC,MAAM;IACdJ,OAAO,IAAIG,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAAgB,MAAA,CAAIlB,OAAO,IAAK;IAAK,CAAC,CAAC;IAC3D;EACF,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMmB,YAAY,GAAIjC,KAAK,IAAK;IAC9Be,UAAU,CAACf,KAAK,CAAC;IACjBkC,UAAU,CAAC5C,QAAQ,EAAE,EAAE,CAAC;EAC1B,CAAC;EAED,MAAM6C,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAGtC,KAAK;MAAE,CAACoC,KAAK,GAAGC;IAAW,CAAC;IAE9CzB,QAAQ,CAAC0B,IAAI,CAAC;IACdjD,QAAQ,CAACiD,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;IACjCrE,GAAG,CAAC;MAAEkC,MAAM,EAAEoC;IAAK,CAAC,CAAC;EACvB,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzB,MAAM,CAACC,UAAU,CAAC,GAAGhF,MAAM,CAACiF,IAAI,CAAChC,KAAK,CAAC,CAACiC,MAAM,CAAEjE,GAAG,IAAK,CAAC,CAACgC,KAAK,CAAChC,GAAG,CAAC,CAAC;IACrE,IAAI+D,UAAU,EAAE,OAAOzB,UAAU,CAACyB,UAAU,CAAC;IAE7CzB,UAAU,CAACS,SAAS,CAAC;IACrB,MAAMmB,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAG5C,KAAK;MAAEC,QAAQ;MAAEG,SAAS;MAAEC,MAAM;MAAEE;IAAM,CAAC,CAAC;IAEtF,IAAIhB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGS,KAAK;MAAE2C;IAAa,CAAC,CAAC,CAAC,KAC9CE,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGJ,YAAY;EAC1C,CAAC;EAED,MAAMK,SAAS,GAAGA,CAAA,KAAM;IACtB,MAAM;MAAEC,QAAQ,GAAG;IAAG,CAAC,GAAGjD,KAAK;IAC/B,IAAIc,OAAO,KAAKoC,aAAI,CAACC,KAAK,IAAI,CAACnC,OAAO,CAACiC,QAAQ,IAAIA,QAAQ,CAAC1E,MAAM,KAAK,CAAC,EAAEwC,UAAU,CAACmC,aAAI,CAACE,QAAQ,CAAC,CAAC,KAC/F,IAAItC,OAAO,KAAKoC,aAAI,CAACE,QAAQ,IAAI,CAACpC,OAAO,CAACG,UAAU,EAAEJ,UAAU,CAACmC,aAAI,CAACG,UAAU,CAAC,CAAC,KAClFtC,UAAU,CAACS,SAAS,CAAC;EAC5B,CAAC;EAED,MAAM;IAAE8B,KAAK,GAAG,CAAC,CAAC;IAAEL,QAAQ,GAAG,EAAE;IAAE9B,UAAU;IAAEoC;EAAU,CAAC,GAAGvD,KAAK;EAClE,MAAM;IAAEwD;EAAO,CAAC,GAAGhE,MAAM;EACzB,MAAMiE,UAAU,GAAG,IAAAC,sBAAa,EAAC;IAAEpD,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAE+C,KAAK,EAAE;MAAEK,EAAE,EAAEC,GAAG,GAAG,EAAE;MAAEC;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG7D,KAAK,IAAI,CAAC,CAAC;EAC7D,MAAM;IAAE8D,KAAK,EAAE;MAAEH,EAAE,EAAEI;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGxD,KAAK;EAC7C,MAAMoD,EAAE,GAAGrD,IAAI,KAAK3B,KAAK,GAAIkF,OAAO,IAAID,GAAG,CAACrF,MAAM,KAAK,CAAC,GAAGqF,GAAG,CAAC,CAAC,CAAC,GAAGpC,SAAS,GAAIuC,OAAO;EAExF,OAAO7E,OAAO,IAAI,CAAC4B,OAAO,gBACxB9E,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAAC7H,OAAA,CAAA8H,OAAO;IAAOjE,KAAK;IAAEyD,UAAU;IAAInE,QAAQ,EAAE2C,YAAa;IAAC1C,QAAQ,EAAEgD;EAAa,CAAE,CAAC,gBAEtFvG,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACnI,GAAA,CAAAqI,IAAI,EAAAhG,QAAA,KACCsB,MAAM;IACV2E,IAAI,EAAC,QAAQ;IACbrE,GAAG,EAAEA,GAAI;IACTsE,GAAG,EAAE,CAAC3E,QAAS;IACf4E,SAAS,EAAE,IAAAC,UAAM,EAAChI,KAAK,CAAC4D,MAAM,EAAEf,MAAM,IAAI7C,KAAK,CAAC6C,MAAM,CAAC,EAAEK,MAAM,CAAC6E,SAAS;EAAE,IAE1EZ,UAAU,CAACc,MAAM,iBAChBvI,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACxH,SAAA,CAAAgI,KAAK,EAAAtG,QAAA,KACAuG,cAAK,CAACtB,KAAK;IACfuB,OAAO,EAAE,IAAAC,wBAAe,EAACrB,KAAK,CAACtD,KAAK,EAAEyD,UAAU,CAACc,MAAM,CAACK,OAAO,CAAE;IACjEC,KAAK,EAAEjF,SAAS,CAACkF,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAEvB,UAAU,CAACc,MAAM,CAACS,WAAW,IAAIpF,SAAS,CAACkF,aAAI,CAACG,uBAAuB,CAAE;IACtFnE,OAAO,EAAEA,OAAO,KAAKoC,aAAI,CAACC,KAAM;IAChC+B,OAAO,EAAEA,CAAA,KAAMnE,UAAU,CAACD,OAAO,KAAKoC,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAG3B,SAAS;EAAE,iBAE3ExF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAAC9H,WAAA,CAAAiJ,MAAM;IACLC,UAAU,EAAEtE,OAAO,KAAKoC,aAAI,CAACC,KAAM;IACnCM,UAAU,EAAEA,UAAU,CAACc,MAAM,CAACK,OAAQ;IACtC5E,KAAK,EAAEsD,KAAK,CAACtD,KAAM;IACnBX,QAAQ,EAAEA,CAACiE,KAAK,EAAE+B,KAAK,KAAK;MAC1BlD,YAAY,CAACe,aAAI,CAACC,KAAK,EAAEG,KAAK,EAAE+B,KAAK,CAAC;MACtC,CAAC5F,QAAQ,IAAIuD,SAAS,CAAC,CAAC;IAC1B,CAAE;IACFzD,QAAQ,EAAEE,QAAQ,GAAGuD,SAAS,GAAGxB,SAAU;IAC3CgC,MAAM,EAAEA,MAAM,MAAAxB,MAAA,CAAMwB,MAAM,eAAYhC;EAAU,CACjD,CACI,CACR,eAEDxF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACxH,SAAA,CAAAgI,KAAK,EAAAtG,QAAA,KACAuG,cAAK,CAACrB,QAAQ;IAClBsB,OAAO,EAAEzB,QAAQ,CAAC1E,MAAM,GAAG,IAAA+G,4BAAkB,EAACrC,QAAQ,EAAErD,SAAS,EAAED,UAAU,CAAC,GAAG6B,SAAU;IAC3F+D,QAAQ,EAAEjF,IAAI,KAAK3B,KAAM;IACzBkG,KAAK,EAAEjF,SAAS,CAACkF,aAAI,CAACU,UAAU,CAAE;IAClCR,WAAW,EAAE,IAAAM,4BAAkB,EAAC9D,SAAS,EAAE5B,SAAS,EAAED,UAAU,CAAE;IAClEmB,OAAO,EAAEA,OAAO,KAAKoC,aAAI,CAACE,QAAS;IACnC8B,OAAO,EAAEA,CAAA,KAAMnE,UAAU,CAACD,OAAO,KAAKoC,aAAI,CAACE,QAAQ,GAAGF,aAAI,CAACE,QAAQ,GAAG5B,SAAS;EAAE,iBAEjFxF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAAC9H,WAAA,CAAAuJ,QAAQ,EAAAvH,QAAA,KACH,IAAAwH,2BAAkB,EAACjC,UAAU,CAACR,QAAQ,EAAEU,EAAE,EAAErD,IAAI,EAAEmD,UAAU,CAACkC,QAAQ,CAAC;IAC1EhC,EAAE,EAAEA,EAAG;IACP1D,QAAQ,EAAEA,QAAS;IACnBI,MAAM,EAAEA,MAAO;IACfL,KAAK,EAAEiD,QAAS;IAChB5D,QAAQ,EAAEA,CAAC4D,QAAQ,EAAEoC,KAAK,KAAK;MAC7BlD,YAAY,CAACe,aAAI,CAACE,QAAQ,EAAEH,QAAQ,EAAEoC,KAAK,CAAC;MAC5C,IAAI,CAAC5F,QAAQ,IAAIwD,QAAQ,CAAC1E,MAAM,KAAK,CAAC,EAAEyE,SAAS,CAAC,CAAC;IACrD,CAAE;IACF4C,OAAO,EAAG3C,QAAQ,IAAKvC,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEwC;IAAS,CAAC,CAAE;IACxD4C,OAAO,EAAEA,CAAA,KAAMnF,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEwC,QAAQ,EAAEzB;IAAU,CAAC,CAAE;IAC3DjC,QAAQ,EAAEE,QAAQ,GAAGuD,SAAS,GAAGxB,SAAU;IAC3CgC,MAAM,EAAEA,MAAM,MAAAxB,MAAA,CAAMwB,MAAM,iBAAchC;EAAU,EACnD,CACI,CAAC,eAERxF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACxH,SAAA,CAAAsJ,eAAe;IACdrC,UAAU,EAAE,IAAAsC,gCAAuB,EAAC;MAClC,GAAGtC,UAAU;MACbc,MAAM,GAAAxF,kBAAA,GAAE0E,UAAU,CAACc,MAAM,cAAAxF,kBAAA,uBAAjBA,kBAAA,CAAmB6F,OAAO;MAClCtB,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEtD;IAChB,CAAC,CAAE;IACHgG,MAAM,EAAE,IAAAC,kBAAS,EAACxC,UAAU,CAACyC,YAAY,EAAE5C,KAAK,CAACtD,KAAK,CAAE;IACxDmG,QAAQ,EAAE1C,UAAU,CAAC0C,QAAS;IAC9BnG,KAAK,EAAEmB,UAAW;IAClBL,OAAO,EAAEA,OAAO,KAAKoC,aAAI,CAACG,UAAW;IACrChE,QAAQ,EAAEA,CAAC8B,UAAU,EAAEkE,KAAK,KAAKlD,YAAY,CAACe,aAAI,CAACG,UAAU,EAAElC,UAAU,EAAEkE,KAAK,CAAE;IAClFO,OAAO,EAAGzE,UAAU,IAAK;MACvB,IAAI,CAAC1B,QAAQ,IAAIqB,OAAO,KAAKoC,aAAI,CAACG,UAAU,EAAEtC,UAAU,CAACmC,aAAI,CAACG,UAAU,CAAC;MACzE3C,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEU;MAAW,CAAC,CAAC;IACpC,CAAE;IACF+D,OAAO,EAAEA,CAAA,KAAMnE,UAAU,CAACD,OAAO,KAAKoC,aAAI,CAACG,UAAU,GAAGH,aAAI,CAACG,UAAU,GAAG7B,SAAS,CAAE;IACrFqE,OAAO,EAAEA,CAAA,KAAMnF,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEU,UAAU,EAAEK;IAAU,CAAC,CAAE;IAC7DgC,MAAM,EAAEA,MAAM,MAAAxB,MAAA,CAAMwB,MAAM,mBAAgBhC;EAAU,CACrD,CAAC,eAEFxF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACxH,SAAA,CAAA4J,cAAc;IACbpB,WAAW,GAAAhG,iBAAA,GAAEyE,UAAU,CAAC4C,KAAK,cAAArH,iBAAA,uBAAhBA,iBAAA,CAAkBgG,WAAY;IAC3ChF,KAAK,EAAEuD,SAAU;IACjBzC,OAAO,EAAEA,OAAO,KAAKoC,aAAI,CAACoD,SAAU;IACpCjH,QAAQ,EAAEA,CAACkE,SAAS,EAAE8B,KAAK,KAAKlD,YAAY,CAACe,aAAI,CAACoD,SAAS,EAAE/C,SAAS,EAAE8B,KAAK,CAAE;IAC/EkB,OAAO,EAAEA,CAAA,KAAMxF,UAAU,CAACmC,aAAI,CAACoD,SAAS,CAAE;IAC1CE,OAAO,EAAEA,CAAA,KAAMzF,UAAU,CAACS,SAAS,CAAE;IACrCgC,MAAM,EAAEA,MAAM,MAAAxB,MAAA,CAAMwB,MAAM,kBAAehC;EAAU,CACpD,CAAC,eAEFxF,MAAA,CAAAkB,OAAA,CAAA8G,aAAA,CAACnI,GAAA,CAAA4K,MAAM;IACLC,KAAK;IACLC,IAAI,EAAElH,QAAS;IACfyF,OAAO,EAAE3C,YAAa;IACtB8B,SAAS,EAAE/H,KAAK,CAACsK,MAAO;IACxBpD,MAAM,EAAEA,MAAM,MAAAxB,MAAA,CAAMwB,MAAM,eAAYhC;EAAU,GAE/CpC,IAAI,MAAAH,eAAA,GAAIwE,UAAU,CAACoD,GAAG,cAAA5H,eAAA,uBAAdA,eAAA,CAAgB+F,WAAW,KAAIpF,SAAS,CAACkF,aAAI,CAACgC,WAAW,CAC5D,CACJ,CACP;AACH,CAAC;AAACC,OAAA,CAAAlI,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACmI,SAAS,GAAG;EACjB9H,OAAO,EAAE+H,kBAAS,CAACC,IAAI;EACvB/H,MAAM,EAAE8H,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnC/H,IAAI,EAAE6H,kBAAS,CAACG,MAAM;EACtB/H,QAAQ,EAAE4H,kBAAS,CAACI,IAAI;EACxB/H,QAAQ,EAAE2H,kBAAS,CAACI,IAAI;EACxB9H,QAAQ,EAAE0H,kBAAS,CAACI;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_shared__","_helpers2","_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","Finder","_ref","_dataSource$places","_dataSource$promo","_dataSource$cta","assisted","compact","layout","text","onChange","onExpand","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","finder","storeFinder","forwarder","locale","type","store","useStore","error","setError","useState","setValue","parseValue","visible","setVisible","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","JSON","stringify","concat","handleExpand","setTimeout","handleChange","field","fieldValue","next","handleSubmit","firstError","keys","filter","forwarderUrl","getForwarderUrl","window","location","href","assistant","calendar","VIEW","PLACE","CALENDAR","OCCUPATION","place","promocode","testId","dataSource","getDataSource","id","ids","isHotel","hotel","idHotel","createElement","Compact","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","onPress","Places","autoColumn","event","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","promo","PROMOCODE","onEnter","onLeave","Button","large","wide","button","cta","ACTION_BOOK","exports","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { 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 { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\n\nconst { HOTEL } = TYPE;\n\nconst Finder = ({\n assisted = true,\n compact,\n layout,\n text,\n onChange = () => {},\n onExpand = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [error, setError] = useState({});\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setVisible(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n const handleExpand = (value) => {\n setVisible(value);\n setTimeout(onExpand, 10);\n };\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n set({ finder: next });\n };\n\n const handleSubmit = () => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setVisible(firstError);\n\n setVisible(undefined);\n const forwarderUrl = getForwarderUrl({ ...value, currency, forwarder, locale, store });\n\n if (onSubmit) onSubmit({ ...value, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setVisible(undefined);\n\n const { calendar = [] } = value;\n if (visible === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setVisible(VIEW.CALENDAR);\n else if (visible === VIEW.CALENDAR && !visited.occupation) setVisible(VIEW.OCCUPATION);\n else setVisible(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n return compact && !visible ? (\n <Compact {...{ value, dataSource }} onExpand={handleExpand} onSubmit={handleSubmit} />\n ) : (\n <View\n {...others}\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\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={visible === VIEW.PLACE}\n onPress={() => setVisible(visible !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n >\n <Places\n autoColumn={visible === VIEW.PLACE}\n dataSource={dataSource.places.options}\n value={place.value}\n onChange={(place, event) => {\n handleChange(VIEW.PLACE, place, event);\n !isMobile && assistant();\n }}\n onSubmit={isMobile ? assistant : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\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={visible === VIEW.CALENDAR}\n onPress={() => setVisible(visible !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, type, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (!isMobile && calendar.length === 2) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? assistant : undefined}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\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 value={occupation}\n visible={visible === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && visible !== VIEW.OCCUPATION) setVisible(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n placeholder={dataSource.promo?.placeholder}\n value={promocode}\n visible={visible === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={() => setVisible(VIEW.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || dataSource.cta?.placeholder || translate(L10N.ACTION_BOOK)}\n </Button>\n </View>\n );\n};\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compact: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|