@mirai/core 0.3.402 → 0.3.404
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/BannerLoyalty/BannerLoyalty.js +17 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/Checkout/Checkout.constants.js +1 -3
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.js +13 -37
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +4 -23
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +0 -18
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Finder/Finder.js +10 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Header/Header.js +14 -18
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +8 -1
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.js +24 -5
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/ClubRate/ClubRate.js +12 -1
- package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +43 -11
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +7 -1
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +14 -0
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js +8 -1
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +4 -0
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +5 -0
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +12 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +8 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +11 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +31 -8
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalMapView/ModalMapView.js +25 -14
- package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +10 -0
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.constants.js +1 -3
- package/build/components/__shared__/BookingSummary/BookingSummary.constants.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +0 -17
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js +0 -6
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.Row.js +2 -9
- package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.js +1 -9
- package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +1 -8
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +6 -0
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js +33 -4
- package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/build/components/Header/Header.constants.js +0 -9
- package/build/components/Header/Header.constants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","filter","_ref","value","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","tracking","showErrors","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","club","id","locale","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","_ref6","_ref7","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref8","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","title","LABEL_CONDITIONS","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n INPUT,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, schema)) ||\n Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource, schema), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\n\n const { payment } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n showErrors={showErrors}\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {getFields(form).map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","filter","_ref","value","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","currency","repositories","countries","form","tracking","showErrors","onError","others","isDesktop","useDevice","translate","useLocale","club","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","getSchemaProps","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleLeave","email","firstName","lastName","trackForm","_ref6","_ref7","visible","createElement","Fragment","autoComplete","validateOnMount","onChange","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","TextRequiredFields","_ref8","field","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","Modal","fit","title","LABEL_CONDITIONS","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","shape","bool","variant","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport { FIELD, FORM_STORAGE_CACHE, FORM_STORAGE_KEY, INPUT } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps, trackForm } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { club, payment: { method } = {}, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, schema)) ||\n Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource, schema), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm({ tracking, ...form });\n setFormTracked(true);\n }\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\n\n const { payment } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n showErrors={showErrors}\n validateOnMount\n onChange={handleChange}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n <TextRequiredFields wide />\n\n {getFields(form).map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n onError={setErrorPayment}\n />\n )}\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ const Finder = _ref => {
|
|
|
35
35
|
icon = false,
|
|
36
36
|
inline = true,
|
|
37
37
|
layout,
|
|
38
|
+
metrics = 'FINDER',
|
|
38
39
|
skeleton,
|
|
39
40
|
storage = true,
|
|
40
41
|
text,
|
|
@@ -166,6 +167,10 @@ const Finder = _ref => {
|
|
|
166
167
|
previousValue: value[field],
|
|
167
168
|
value: fieldValue
|
|
168
169
|
});
|
|
170
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
171
|
+
id: "".concat(metrics, ":CHANGE:").concat(field),
|
|
172
|
+
...fieldValue
|
|
173
|
+
});
|
|
169
174
|
};
|
|
170
175
|
const handleClickOutside = function () {
|
|
171
176
|
var _ref$current;
|
|
@@ -212,6 +217,10 @@ const Finder = _ref => {
|
|
|
212
217
|
...nextValue,
|
|
213
218
|
forwarderUrl
|
|
214
219
|
});else window.location.href = forwarderUrl;
|
|
220
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
221
|
+
id: "".concat(metrics, ":SUBMIT"),
|
|
222
|
+
...nextValue
|
|
223
|
+
});
|
|
215
224
|
};
|
|
216
225
|
const assistant = () => {
|
|
217
226
|
const {
|
|
@@ -378,6 +387,7 @@ Finder.propTypes = {
|
|
|
378
387
|
icon: _propTypes.default.bool,
|
|
379
388
|
inline: _propTypes.default.bool,
|
|
380
389
|
layout: _propTypes.default.oneOf(['column']),
|
|
390
|
+
metrics: _propTypes.default.string,
|
|
381
391
|
skeleton: _propTypes.default.bool,
|
|
382
392
|
storage: _propTypes.default.bool,
|
|
383
393
|
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","_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","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","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","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","id","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","publish","FINDER_FIELD_CHANGE","previousValue","_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","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;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\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 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 };\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\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 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":";;;;;;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;AAUA,IAAAa,kBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAEA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AACA,IAAAiB,WAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AAA6D,SAAAmB,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,SAAAd,wBAAAc,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,SAAAxB,uBAAAoC,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,KAJ7D;AAMA,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AAEtB,MAAMC,MAAM,GAAGC,IAAA,IAWT;EAAA,IAAAC,kBAAA;EAAA,IAXU;IACdC,SAAS,GAAG,KAAK;IACjBC,IAAI,GAAG,KAAK;IACZC,MAAM,GAAG,IAAI;IACbC,MAAM;IACNC,QAAQ;IACRC,OAAO,GAAG,IAAI;IACdC,IAAI;IACJC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAX,IAAA;EACC,MAAM;IAAEY,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACtE,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJpC,GAAG;IACHqC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAGlC,KAAK;MAAE,GAAGmC;IAAM;EACnH,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1D,MAAM,CAACX,QAAQ,EAAEY,WAAW,CAAC,GAAG,IAAAD,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACM,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACb,KAAK,EAAEqB,QAAQ,CAAC,GAAG,IAAAR,eAAQ,EAAC,IAAAS,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC1C,MAAM,CAACY,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACrB,KAAK,EAAEmC,QAAQ,CAAC,GAAG,IAAAd,eAAQ,EAAC,CAAC;EAEpC,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI7C,QAAQ,EAAE;IAEd,IAAI,EAACsB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEwB,UAAU,GAAElE,GAAG,CAAC;MAAEyC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEwB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IAExGC,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEC,cAAc,CAAC;IACnD,CAAC7C,QAAQ,IAAI8C,QAAQ,CAACF,gBAAgB,CAAC,OAAO,EAAEG,kBAAkB,EAAE,IAAI,CAAC;IAEzE,OAAO,MAAM;MACXJ,MAAM,CAACK,mBAAmB,CAAC,UAAU,EAAEH,cAAc,CAAC;MACtD,CAAC7C,QAAQ,IAAI8C,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAED,kBAAkB,EAAE,IAAI,CAAC;IAC9E,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAR,gBAAS,EAAC,MAAM;IACd,IAAI9C,MAAM,KAAK,QAAQ,IAAIgB,GAAG,CAACwC,OAAO,EAAEX,QAAQ,CAAC,IAAAY,oCAAiB,EAACzC,GAAG,CAACwC,OAAO,CAAC,CAAC;IAChF;EACF,CAAC,EAAE,CAAC7C,WAAW,CAAC,CAAC;EAEjB,IAAAmC,gBAAS,EAAC,MAAM;IACdT,cAAc,IAAIC,iBAAiB,CAAC;MAAEoB,aAAa,EAAE;IAAG,CAAC,CAAC;IAC1D;EACF,CAAC,EAAE,CAACxC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE6B,UAAU,EAAE7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyC,KAAK,CAAC,CAAC;EAErC,IAAAb,gBAAS,EAAC,MAAM;IAAA,IAAAc,eAAA;IACd,MAAM;MAAED,KAAK,EAAE;QAAEE,EAAE;QAAEC;MAAQ,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG5C,KAAK,IAAI,CAAC,CAAC;IACnD,IAAI4C,OAAO,IAAI,GAAAF,eAAA,GAAC,IAAAG,wBAAc,EAACb,MAAM,CAACc,QAAQ,CAACC,MAAM,CAAC,cAAAL,eAAA,eAAtCA,eAAA,CAAwCxC,QAAQ,GAAE;MAChE;MACA,CAAC,YAAY;QACXY,WAAW,CAAC,MAAM,IAAAkC,uBAAa,EAACL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MACzC,CAAC,EAAE,CAAC;IACN;IACA;EACF,CAAC,EAAE,CAAC3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyC,KAAK,CAAC,CAAC;EAElB,IAAAb,gBAAS,EAAC,MAAM;IACd,MAAMqB,QAAQ,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAE9C,MAAM;QAAEa;MAAM,CAAC,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;MAChD,IAAImC,MAAM,EAAE,OAAOgD,YAAY,CAAC;QAAEC,SAAS,EAAEjD;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAAC8B,QAAQ,CAAC;MAC3B,IAAIjC,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IAED,EAAC7B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEL,QAAQ,KAAI,CAACI,QAAQ,IAAImE,UAAU,CAAC,MAAM,IAAAC,cAAK,EAAC;MAAEhE,MAAM;MAAEiB,IAAI;MAAE,GAAGC;IAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAEzF+C,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IAEvC,OAAO,MAAMO,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IACtD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAArB,gBAAS,EAAC,MAAMd,WAAW,CAACX,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAyB,gBAAS,EACP,MAAM;IACJ,IAAIiC,IAAI,CAACC,SAAS,CAAC9D,KAAK,CAAC,KAAK6D,IAAI,CAACC,SAAS,CAAC,IAAAxC,mBAAU,EAACjB,WAAW,CAAC,CAAC,EAAEgB,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC1G,CAAC;EACD;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAuB,gBAAS,EAAC,MAAM;IACdX,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAAwC,MAAA,CAAI9C,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAM+C,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAGnE,KAAK;MAAE,CAACiE,KAAK,GAAGC;IAAW,CAAC;IAE9C7C,QAAQ,CAAC8C,IAAI,CAAC;IACdjF,QAAQ,CAACiF,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;IACjClF,OAAO,IAAI,IAAAoF,mBAAU,EAACD,IAAI,EAAE1D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,EAAE,CAAC;IAEtCa,kBAAK,CAACa,OAAO,CAACX,eAAK,CAACY,mBAAmB,EAAE;MAAEL,KAAK;MAAEM,aAAa,EAAEvE,KAAK,CAACiE,KAAK,CAAC;MAAEjE,KAAK,EAAEkE;IAAW,CAAC,CAAC;EACrG,CAAC;EAED,MAAM9B,kBAAkB,GAAG,SAAAA,CAAA;IAAA,IAAAoC,YAAA;IAAA,IAAC;MAAExG;IAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,GAAAuG,YAAA,GAAC1E,GAAG,CAACwC,OAAO,cAAAkC,YAAA,eAAXA,YAAA,CAAaC,QAAQ,CAACzG,MAAM,CAAC,KAAIkD,QAAQ,CAACiC,SAAS,CAAC;EAAA;EAErG,MAAMjB,cAAc,GAAG,eAAAA,CAAA,EAA8B;IAAA,IAAvB;MAAEwC;IAAU,CAAC,GAAAzG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAC9C,IAAI,CAACyG,SAAS,EAAE;IAEhBxD,QAAQ,CAAC,CAAC;IACVM,UAAU,CAAC,CAAC;IACZH,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EACnC,CAAC;EAED,MAAMsE,iBAAiB,GAAG,MAAOlC,KAAK,IAAK;IACzCf,UAAU,CAAC,KAAK,CAAC;IACjBsC,YAAY,CAACY,aAAI,CAACC,KAAK,EAAEpC,KAAK,CAAC;IAE/BqC,SAAS,CAAC,CAAC;EACb,CAAC;EAED,MAAM1B,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAA/B;MAAEC,SAAS,GAAGrD;IAAM,CAAC,GAAA/B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAC9C,IAAI8G,UAAU,CAACC,MAAM,IAAIhF,KAAK,CAACyC,KAAK,KAAKU,SAAS,EAAE,OAAOjC,QAAQ,CAAC0D,aAAI,CAACC,KAAK,CAAC;IAE/E,MAAM,CAACI,UAAU,CAAC,GAAG9H,MAAM,CAAC+H,IAAI,CAACnE,KAAK,CAAC,CAACoE,MAAM,CAAE/G,GAAG,IAAK,CAAC,CAAC2C,KAAK,CAAC3C,GAAG,CAAC,CAAC;IACrE,IAAI6G,UAAU,EAAE,OAAO/D,QAAQ,CAAC+D,UAAU,CAAC;IAE3CvD,UAAU,CAAC,KAAK,CAAC;IACjBR,QAAQ,CAACiC,SAAS,CAAC;IACnBxF,GAAG,CAAC;MAAEyC,MAAM,EAAEiD;IAAU,CAAC,CAAC;IAC1B,MAAM+B,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAGhC,SAAS;MAAEnD,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEE,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhG,IAAIrB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGkE,SAAS;MAAE+B;IAAa,CAAC,CAAC,CAAC,KAClDpD,MAAM,CAACc,QAAQ,CAACwC,IAAI,GAAGF,YAAY;EAC1C,CAAC;EAED,MAAMN,SAAS,GAAGA,CAAA,KAAM;IACtB,MAAM;MAAE5B,QAAQ,GAAG;IAAG,CAAC,GAAGlD,KAAK;IAC/B,IAAIiB,KAAK,KAAK2D,aAAI,CAACC,KAAK,IAAI,CAACtD,OAAO,CAAC2B,QAAQ,IAAIA,QAAQ,CAAChF,MAAM,KAAK,CAAC,EAAEgD,QAAQ,CAAC0D,aAAI,CAACW,QAAQ,CAAC,CAAC,KAC3F,IAAI,CAAC5G,SAAS,IAAI,CAACiG,aAAI,CAACW,QAAQ,EAAEX,aAAI,CAACC,KAAK,CAAC,CAACW,QAAQ,CAACvE,KAAK,CAAC,EAAEC,QAAQ,CAACiC,SAAS,CAAC;EACzF,CAAC;EAED,MAAM;IAAED,QAAQ,GAAG,EAAE;IAAErB,UAAU;IAAEY,KAAK,GAAG,CAAC,CAAC;IAAEgD;EAAU,CAAC,GAAGzF,KAAK;EAClE,MAAM;IAAE2C,EAAE,EAAE+C,GAAG,GAAG,EAAE;IAAE9C;EAAQ,CAAC,GAAGH,KAAK;EACvC,MAAMsC,UAAU,GAAG,IAAAY,sBAAa,EAAC;IAAEnF,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAEmF,KAAK,EAAE;MAAEjD,EAAE,EAAEkD;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGpF,KAAK;EAC7C,MAAMkC,EAAE,GAAGnC,IAAI,KAAKlC,KAAK,GAAIsE,OAAO,IAAI8C,GAAG,CAACxH,MAAM,KAAK,CAAC,GAAGwH,GAAG,CAAC,CAAC,CAAC,GAAGvC,SAAS,GAAI0C,OAAO;EAExF,MAAMC,EAAE,GAAG;IACTC,MAAM,EAAE1G,QAAQ,IAAIP,MAAM,KAAK,QAAQ;IACvCH,SAAS,EAAGA,SAAS,IAAIU,QAAQ,IAAMV,SAAS,IAAI,CAACU,QAAQ,IAAI,CAAC4B,KAAM;IACxE+E,KAAK,EAAE/F,UAAU,CAAC+F,KAAK,KAAK7C;EAC9B,CAAC;EAED,MAAM8C,UAAU,GAAG;IACjBtH,SAAS,EAAEmH,EAAE,CAACnH,SAAS;IACvBE,MAAM;IACNqH,SAAS,EAAEnK,KAAK,CAACkI,KAAK;IACtB,IAAI6B,EAAE,CAACC,MAAM,GAAG;MAAEI,QAAQ,EAAE,IAAI;MAAEpK,KAAK,EAAEyD,KAAK,GAAG;QAAE4G,QAAQ,EAAE5G,KAAK;QAAEA;MAAM,CAAC,GAAG2D;IAAU,CAAC,GAAGA,SAAS;EACvG,CAAC;EAED,oBACE1H,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAA5K,MAAA,CAAAoB,OAAA,CAAAyJ,QAAA,QACGR,EAAE,CAACnH,SAAS,iBACXlD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACzK,OAAA,CAAA2K,OAAO,EAAA1I,QAAA;IACAmC,KAAK;IAAE+E,UAAU;IACvByB,QAAQ,EAAEtF,QAAS;IACnB/B,QAAQ,EAAE,CAAC2G,EAAE,CAACE,KAAK,IAAKF,EAAE,CAACE,KAAK,IAAI,CAAC3G,QAAS,GAAG+D,YAAY,GAAGD;EAAU,GACtE/D,MAAM,CACX,CACF,eAED3D,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IACH3G,GAAG,EAAEA,GAAI;IACT4G,IAAI,EAAC,QAAQ;IACbC,GAAG,EAAE,CAACb,EAAE,CAACC,MAAO;IAChBa,GAAG,EAAC,QAAQ;IACZC,MAAM,EAAEzH,MAAM,CAACyH,MAAO;IACtBX,SAAS,EAAE,CAACJ,EAAE,CAACnH,SAAS,GAAG,IAAAmI,UAAM,EAAC/K,KAAK,CAACqE,MAAM,EAAE0F,EAAE,CAACC,MAAM,IAAIhK,KAAK,CAACgK,MAAM,EAAE3G,MAAM,CAAC8G,SAAS,CAAC,GAAG/C;EAAU,GAExG4B,UAAU,CAACC,MAAM,iBAChBvJ,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAA5K,MAAA,CAAAoB,OAAA,CAAAyJ,QAAA,qBACE7K,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA2K,KAAK,EAAAlJ,QAAA,KACAmJ,cAAK,CAACnC,KAAK;IACfoC,OAAO,EAAE,IAAAC,wBAAe,EAACzE,KAAK,CAACzC,KAAK,EAAE+E,UAAU,CAACC,MAAM,CAACmC,OAAO,CAAE;IACjEC,KAAK,EAAExH,SAAS,CAACyH,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAExC,UAAU,CAACC,MAAM,CAACuC,WAAW,IAAI3H,SAAS,CAACyH,aAAI,CAACG,uBAAuB,CAAE;IACtFC,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACC,KAAM;IAC9B6C,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAG1B,SAAS;EAAE,GACnE8C,UAAU,gBAEdxK,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC1K,WAAA,CAAAgM,MAAM;IACLC,UAAU,EAAE3G,KAAK,KAAK2D,aAAI,CAACC,KAAM;IACjCE,UAAU,EAAEA,UAAU,CAACC,MAAM,CAACmC,OAAQ;IACtClI,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnCnD,KAAK,EAAEyC,KAAK,CAACzC,KAAM;IACnBd,QAAQ,EAAEyF,iBAAkB;IAC5BxF,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9C0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,eAAY1D;EAAU,CAC/D,CACI,CAAC,EAEPtE,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAC9C,CACH,eAEDpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA2K,KAAK,EAAAlJ,QAAA,KACAmJ,cAAK,CAACzB,QAAQ;IAClB0B,OAAO,EAAE/D,QAAQ,CAAChF,MAAM,GAAG,IAAA4J,4BAAkB,EAAC5E,QAAQ,EAAEtD,SAAS,EAAED,UAAU,CAAC,GAAGwD,SAAU;IAC3FgD,QAAQ,EAAE3F,IAAI,KAAKlC,KAAM;IACzB8I,KAAK,EAAExH,SAAS,CAACyH,aAAI,CAACU,UAAU,CAAE;IAClCR,WAAW,EAAE,IAAAO,4BAAkB,EAAC3E,SAAS,EAAEvD,SAAS,EAAED,UAAU,CAAE;IAClE8H,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACW,QAAS;IACjCyC,UAAU,EAAEpH,mBAAoB;IAChC8G,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACW,QAAQ,GAAGX,aAAI,CAACW,QAAQ,GAAGpC,SAAS,CAAE;IAC7E0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,uBAAoB1D;EAAU,GAClE8C,UAAU,gBAEdxK,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC1K,WAAA,CAAAsM,QAAQ,EAAApK,QAAA,KACH,IAAAqK,2BAAkB,EAACnD,UAAU,CAAC7B,QAAQ,EAAEP,EAAE,EAAEd,UAAU,EAAErB,IAAI,EAAEW,cAAc,EAAE4D,UAAU,CAACoD,QAAQ,CAAC;IACtGxF,EAAE,EAAEA,EAAG;IACPzC,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAEA,MAAO;IACf6H,YAAY,EAAE,CAAE;IAChBnJ,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnChC,cAAc,EAAEA,cAAe;IAC/BnB,KAAK,EAAEkD,QAAS;IAChBhE,QAAQ,EAAEA,CAACgE,QAAQ,EAAEmF,KAAK,KAAK;MAC7BrE,YAAY,CAACY,aAAI,CAACW,QAAQ,EAAErC,QAAQ,EAAEmF,KAAK,CAAC;MAC5C,IAAInF,QAAQ,CAAChF,MAAM,KAAK,CAAC,IAAI,CAAC4H,EAAE,CAACE,KAAK,EAAElB,SAAS,CAAC,CAAC;IACrD,CAAE;IACFwD,OAAO,EAAGpF,QAAQ,IAAKlC,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEmC;IAAS,CAAC,CAAE;IACxD/D,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9CoF,OAAO,EAAEA,CAAA,KAAMvH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEmC,QAAQ,EAAEC;IAAU,CAAC,CAAE;IAC3D+C,SAAS,EAAE,IAAAY,UAAM,EAAC,CAAAnG,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAE6H,GAAG,KAAIzM,KAAK,CAAC0M,aAAa,CAAE;IAChE5B,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,iBAAc1D;EAAU,EACjE,CACI,CAAC,EAEPtE,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAAC,eAE/CpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAAsM,eAAe,EAAA7K,QAAA;IACdkH,UAAU,EAAE,IAAA4D,gCAAuB,EAAC;MAClC,GAAG5D,UAAU;MACbC,MAAM,GAAAtG,kBAAA,GAAEqG,UAAU,CAACC,MAAM,cAAAtG,kBAAA,uBAAjBA,kBAAA,CAAmByI,OAAO;MAClC1E,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEzC;IAChB,CAAC,CAAE;IACH4I,MAAM,EAAE,IAAAC,kBAAS,EAAC9D,UAAU,CAAC+D,YAAY,EAAErG,KAAK,CAACzC,KAAK,CAAE;IACxD+I,QAAQ,EAAEhE,UAAU,CAACgE,QAAS;IAC9B9J,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnCnD,KAAK,EAAE6B,UAAW;IAClB4F,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACoE,UAAW;IACnCC,WAAW,EAAExH,OAAQ;IACrBvC,QAAQ,EAAEA,CAAC2C,UAAU,EAAEwG,KAAK,KAAKrE,YAAY,CAACY,aAAI,CAACoE,UAAU,EAAEnH,UAAU,EAAEwG,KAAK,CAAE;IAClFC,OAAO,EAAGzG,UAAU,IAAK;MACvB,IAAI,CAACxC,QAAQ,IAAI4B,KAAK,KAAK2D,aAAI,CAACoE,UAAU,EAAE9H,QAAQ,CAAC0D,aAAI,CAACoE,UAAU,CAAC;MACrEhI,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEc;MAAW,CAAC,CAAC;IACpC,CAAE;IACF6F,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACoE,UAAU,GAAGpE,aAAI,CAACoE,UAAU,GAAG7F,SAAS,CAAE;IACjFhE,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9CoF,OAAO,EAAEA,CAAA,KAAMvH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEc,UAAU,EAAEsB;IAAU,CAAC,CAAE;IAC7D+F,SAAS,EAAEA,CAAA,KAAM;MACf,IAAI,CAAC7J,QAAQ,IAAI4B,KAAK,KAAK2D,aAAI,CAACoE,UAAU,EAAE9H,QAAQ,CAAC0D,aAAI,CAACoE,UAAU,CAAC;IACvE,CAAE;IACFnC,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,mBAAgB1D;EAAU,GAC9D8C,UAAU,CACf,CAAC,EAEDpH,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAAC,eAE/CpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA+M,cAAc,EAAAtL,QAAA;IACbmC,KAAK,EAAEyF,SAAU;IACjBgC,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACwE,SAAU;IAClClK,QAAQ,EAAEA,CAACuG,SAAS,EAAE4C,KAAK,KAAKrE,YAAY,CAACY,aAAI,CAACwE,SAAS,EAAE3D,SAAS,EAAE4C,KAAK,CAAE;IAC/EgB,OAAO,EAAE,CAAC1K,SAAS,GAAG,MAAMuC,QAAQ,CAAC0D,aAAI,CAACwE,SAAS,CAAC,GAAGjG,SAAU;IACjEmG,OAAO,EAAE,CAAC3K,SAAS,GAAG,MAAMuC,QAAQ,CAACiC,SAAS,CAAC,GAAGA,SAAU;IAC5DuE,OAAO,EACLrI,QAAQ,IAAIV,SAAS,GAAG,MAAMuC,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACwE,SAAS,GAAGxE,aAAI,CAACwE,SAAS,GAAGjG,SAAS,CAAC,GAAGA,SACjG;IACDhE,QAAQ,EAAEE,QAAQ,IAAIV,SAAS,GAAGyE,YAAY,GAAGD,SAAU;IAC3D0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,kBAAe1D;EAAU,GAC7D8C,UAAU,CACf,CAAC,EAED,CAACH,EAAE,CAACnH,SAAS,iBACZlD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAiO,MAAM;IACLC,KAAK;IACLC,QAAQ,EAAE,CAAE;IACZ/C,IAAI,EAAC,eAAe;IACpBgD,IAAI,EAAE5D,EAAE,CAACC,MAAO;IAChB2B,OAAO,EAAEtE,YAAa;IACtB8C,SAAS,EAAE,IAAAY,UAAM,EAAC/K,KAAK,CAAC4N,MAAM,EAAE,CAAE/K,IAAI,IAAI,CAACkH,EAAE,CAACC,MAAM,IAAKzG,QAAQ,KAAKvD,KAAK,CAAC6N,QAAQ,CAAE;IACtF/C,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,eAAY1D;EAAU,GAE5DvE,IAAI,IAAI,CAACkH,EAAE,CAACC,MAAM,IAAKzG,QAAQ,gBAAG7D,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAuO,IAAI;IAAC7J,KAAK,EAAE8J,cAAI,CAACC;EAAO,CAAE,CAAC,GAAG9K,IAAI,IAAIW,SAAS,CAACyH,aAAI,CAAC2C,aAAa,CACjG,CAEN,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAzL,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC0L,WAAW,GAAG,mBAAmB;AAExC1L,MAAM,CAAC2L,SAAS,GAAG;EACjBxL,SAAS,EAAEyL,kBAAS,CAACC,IAAI;EACzBzL,IAAI,EAAEwL,kBAAS,CAACC,IAAI;EACpBxL,MAAM,EAAEuL,kBAAS,CAACC,IAAI;EACtBvL,MAAM,EAAEsL,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnCvL,QAAQ,EAAEqL,kBAAS,CAACC,IAAI;EACxBrL,OAAO,EAAEoL,kBAAS,CAACC,IAAI;EACvBpL,IAAI,EAAEmL,kBAAS,CAACG,MAAM;EACtBrL,QAAQ,EAAEkL,kBAAS,CAACI,IAAI;EACxBrL,QAAQ,EAAEiL,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","_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","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","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","id","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","publish","FINDER_FIELD_CHANGE","previousValue","METRICS","_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","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;\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, 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 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 Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}`, ...fieldValue });\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 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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"}
|
|
@@ -6,13 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Header = void 0;
|
|
7
7
|
var _dataSources = require("@mirai/data-sources");
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
|
-
var _services = require("@mirai/services");
|
|
10
9
|
var _ui = require("@mirai/ui");
|
|
11
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _components = require("./components");
|
|
14
|
-
var _Header = require("./Header.
|
|
15
|
-
var _Header2 = require("./Header.l10n");
|
|
13
|
+
var _Header = require("./Header.l10n");
|
|
16
14
|
var style = _interopRequireWildcard(require("./Header.module.css"));
|
|
17
15
|
var _shared__ = require("../__shared__");
|
|
18
16
|
var _helpers = require("../helpers");
|
|
@@ -22,7 +20,6 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
22
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
22
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
|
-
let hasTracking = false;
|
|
26
23
|
const Header = _ref => {
|
|
27
24
|
var _ref2;
|
|
28
25
|
let {
|
|
@@ -37,9 +34,6 @@ const Header = _ref => {
|
|
|
37
34
|
isMobile,
|
|
38
35
|
isDesktop
|
|
39
36
|
} = (0, _ui.useDevice)();
|
|
40
|
-
const {
|
|
41
|
-
track
|
|
42
|
-
} = (0, _dataSources.useMetrics)();
|
|
43
37
|
const {
|
|
44
38
|
translate
|
|
45
39
|
} = (0, _locale.useLocale)();
|
|
@@ -57,15 +51,10 @@ const Header = _ref => {
|
|
|
57
51
|
url
|
|
58
52
|
} = {},
|
|
59
53
|
id,
|
|
60
|
-
locale,
|
|
61
54
|
session
|
|
62
55
|
} = {}
|
|
63
56
|
} = (0, _dataSources.useStore)();
|
|
64
57
|
const [modal, setModal] = (0, _react.useState)(false);
|
|
65
|
-
(0, _react.useEffect)(() => {
|
|
66
|
-
hasTracking = _services.ServiceFeatures.get(_Header.FEATURE_HEADER_TRACKING, id);
|
|
67
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
68
|
-
}, []);
|
|
69
58
|
(0, _react.useEffect)(() => {
|
|
70
59
|
const callback = function () {
|
|
71
60
|
let {
|
|
@@ -78,13 +67,18 @@ const Header = _ref => {
|
|
|
78
67
|
}, []);
|
|
79
68
|
const handleClose = () => setModal(false);
|
|
80
69
|
const handleLogin = () => {
|
|
81
|
-
hasTracking && track("".concat(_Header.TRACKING, ":ACTION:SHOW_LOGIN"), {
|
|
82
|
-
locale
|
|
83
|
-
});
|
|
84
70
|
setModal(true);
|
|
71
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
72
|
+
id: 'HEADER:LOGIN'
|
|
73
|
+
});
|
|
85
74
|
};
|
|
86
75
|
const handleUrl = () => {
|
|
87
|
-
|
|
76
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
77
|
+
id: 'HEADER:GO_TO_HOME'
|
|
78
|
+
});
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
window.location = url;
|
|
81
|
+
}, 200);
|
|
88
82
|
};
|
|
89
83
|
const {
|
|
90
84
|
logo,
|
|
@@ -98,7 +92,7 @@ const Header = _ref => {
|
|
|
98
92
|
action: largeName && !isMobile || isMobile && !largeName,
|
|
99
93
|
small: largeName && isMobile
|
|
100
94
|
};
|
|
101
|
-
const fullName = (_ref2 = "".concat(type ? translate(
|
|
95
|
+
const fullName = (_ref2 = "".concat(type ? translate(_Header.L10N.LABEL_PROPERTY_TYPE, {
|
|
102
96
|
type
|
|
103
97
|
}) : '', " ").concat(name)) === null || _ref2 === void 0 ? void 0 : _ref2.trim();
|
|
104
98
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -136,10 +130,12 @@ const Header = _ref => {
|
|
|
136
130
|
}, showLocale && /*#__PURE__*/_react.default.createElement(_shared__.SelectEnvironment, {
|
|
137
131
|
compacted: isMobile,
|
|
138
132
|
headerMode: true,
|
|
133
|
+
metrics: "HEADER",
|
|
139
134
|
name: "locale"
|
|
140
135
|
}), showCurrency && /*#__PURE__*/_react.default.createElement(_shared__.SelectEnvironment, {
|
|
141
136
|
compacted: isMobile,
|
|
142
137
|
headerMode: true,
|
|
138
|
+
metrics: "HEADER",
|
|
143
139
|
name: "currency"
|
|
144
140
|
}), showLogin && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, session ? /*#__PURE__*/_react.default.createElement(_Session.Account, {
|
|
145
141
|
compacted: true
|
|
@@ -155,7 +151,7 @@ const Header = _ref => {
|
|
|
155
151
|
}), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
156
152
|
action: true,
|
|
157
153
|
medium: true
|
|
158
|
-
}, translate(
|
|
154
|
+
}, translate(_Header.L10N.ACTION_LOGIN)))), /*#__PURE__*/_react.default.createElement(_SessionLogin.Modal, {
|
|
159
155
|
visible: modal,
|
|
160
156
|
onClose: handleClose,
|
|
161
157
|
onSuccess: handleClose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Header","_Header2","style","_shared__","_helpers","_Session","_SessionLogin","_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","hasTracking","Header","_ref","_ref2","currency","showCurrency","locale","showLocale","login","showLogin","ghost","name","showName","others","isMobile","isDesktop","useDevice","track","useMetrics","translate","useLocale","value","finder","place","id","placeId","isHotel","title","placeName","hotel","features","url","session","useStore","modal","setModal","useState","useEffect","ServiceFeatures","FEATURE_HEADER_TRACKING","callback","visible","undefined","Event","subscribe","EVENT","LOGIN","unsubscribe","handleClose","handleLogin","concat","TRACKING","handleUrl","window","location","logo","type","largeName","nameProps","action","small","fullName","L10N","LABEL_PROPERTY_TYPE","trim","createElement","Fragment","View","tag","wide","testId","className","styles","header","row","content","main","Pressable","onPress","dangerouslySetInnerHTML","__html","outerHTML","alt","src","image","Text","bold","brand","textName","BookingProcess","noPrint","options","SelectEnvironment","compacted","headerMode","Account","Icon","headline","level","ICON","ACCOUNT","medium","ACTION_LOGIN","Modal","onClose","onSuccess","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Icon, Pressable, Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BookingProcess } from './components';\nimport { FEATURE_HEADER_TRACKING, TRACKING } from './Header.constants';\nimport { L10N } from './Header.l10n';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { EVENT, ICON } from '../helpers';\nimport { Account } from '../Session/Session.Account';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet hasTracking = false;\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = false,\n ghost,\n name: showName,\n ...others\n}) => {\n const { isMobile, isDesktop } = useDevice();\n const { track } = useMetrics();\n const { translate } = useLocale();\n const {\n value: {\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, url } = {},\n id,\n locale,\n session,\n } = {},\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_HEADER_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const callback = ({ visible = true } = {}) => setModal(visible);\n\n Event.subscribe(EVENT.LOGIN, callback);\n return () => Event.unsubscribe(EVENT.LOGIN, callback);\n }, []);\n\n const handleClose = () => setModal(false);\n\n const handleLogin = () => {\n hasTracking && track(`${TRACKING}:ACTION:SHOW_LOGIN`, { locale });\n setModal(true);\n };\n\n const handleUrl = () => {\n window.location = url;\n };\n\n const { logo, name, type } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[id]) || {};\n const largeName = name?.length > 32;\n const nameProps = { action: (largeName && !isMobile) || (isMobile && !largeName), small: largeName && isMobile };\n const fullName = `${type ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim();\n\n return (\n <>\n <View tag=\"header\" wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {(logo || ghost || (!logo && name)) && (\n <Pressable onPress={url ? handleUrl : undefined}>\n {ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : logo ? (\n <View alt={fullName} tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold brand className={style.textName}>\n {fullName}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess className={style.noPrint} />}\n </View>\n\n <View row className={[style.options, style.noPrint]}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode name=\"currency\" />}\n {showLogin && (\n <>\n {session ? (\n <Account compacted />\n ) : (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon headline level={2} value={ICON.ACCOUNT} />\n\n {!isMobile && (\n <Text action medium>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\n )}\n </View>\n </Pressable>\n <ModalLogin visible={modal} onClose={handleClose} onSuccess={handleClose} />\n </>\n )}\n </>\n )}\n </View>\n </View>\n </View>\n\n {showName && logo && name && (\n <View className={styles(style.header, style.extra, others.className)}>\n <View row wide className={style.content}>\n <Text {...nameProps}>{fullName}</Text>\n </View>\n </View>\n )}\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Header';\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n name: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Header","style","_shared__","_helpers","_Session","_SessionLogin","_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","Header","_ref","_ref2","currency","showCurrency","locale","showLocale","login","showLogin","ghost","name","showName","others","isMobile","isDesktop","useDevice","translate","useLocale","value","finder","place","id","placeId","isHotel","title","placeName","hotel","features","url","session","useStore","modal","setModal","useState","useEffect","callback","visible","undefined","Event","subscribe","EVENT","LOGIN","unsubscribe","handleClose","handleLogin","publish","METRICS","handleUrl","setTimeout","window","location","logo","type","largeName","nameProps","action","small","fullName","concat","L10N","LABEL_PROPERTY_TYPE","trim","createElement","Fragment","View","tag","wide","testId","className","styles","header","row","content","main","Pressable","onPress","dangerouslySetInnerHTML","__html","outerHTML","alt","src","image","Text","bold","brand","textName","BookingProcess","noPrint","options","SelectEnvironment","compacted","headerMode","metrics","Account","Icon","headline","level","ICON","ACCOUNT","medium","ACTION_LOGIN","Modal","onClose","onSuccess","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BookingProcess } from './components';\nimport { L10N } from './Header.l10n';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { EVENT, ICON } from '../helpers';\nimport { Account } from '../Session/Session.Account';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = false,\n ghost,\n name: showName,\n ...others\n}) => {\n const { isMobile, isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, url } = {},\n id,\n session,\n } = {},\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible = true } = {}) => setModal(visible);\n\n Event.subscribe(EVENT.LOGIN, callback);\n return () => Event.unsubscribe(EVENT.LOGIN, callback);\n }, []);\n\n const handleClose = () => setModal(false);\n\n const handleLogin = () => {\n setModal(true);\n Event.publish(EVENT.METRICS, { id: 'HEADER:LOGIN' });\n };\n\n const handleUrl = () => {\n Event.publish(EVENT.METRICS, { id: 'HEADER:GO_TO_HOME' });\n setTimeout(() => {\n window.location = url;\n }, 200);\n };\n\n const { logo, name, type } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[id]) || {};\n const largeName = name?.length > 32;\n const nameProps = { action: (largeName && !isMobile) || (isMobile && !largeName), small: largeName && isMobile };\n const fullName = `${type ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim();\n\n return (\n <>\n <View tag=\"header\" wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {(logo || ghost || (!logo && name)) && (\n <Pressable onPress={url ? handleUrl : undefined}>\n {ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : logo ? (\n <View alt={fullName} tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold brand className={style.textName}>\n {fullName}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess className={style.noPrint} />}\n </View>\n\n <View row className={[style.options, style.noPrint]}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"currency\" />}\n {showLogin && (\n <>\n {session ? (\n <Account compacted />\n ) : (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon headline level={2} value={ICON.ACCOUNT} />\n\n {!isMobile && (\n <Text action medium>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\n )}\n </View>\n </Pressable>\n <ModalLogin visible={modal} onClose={handleClose} onSuccess={handleClose} />\n </>\n )}\n </>\n )}\n </View>\n </View>\n </View>\n\n {showName && logo && name && (\n <View className={styles(style.header, style.extra, others.className)}>\n <View row wide className={style.content}>\n <Text {...nameProps}>{fullName}</Text>\n </View>\n </View>\n )}\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Header';\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n name: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
@@ -50,6 +50,13 @@ const RoomSelector = _ref => {
|
|
|
50
50
|
if (next) setScrollTo(next - (isMobile ? 8 : 0));
|
|
51
51
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
52
|
}, [roomIndex]);
|
|
53
|
+
const handlePress = index => {
|
|
54
|
+
onPress(index);
|
|
55
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
56
|
+
id: 'RATES:ROOM',
|
|
57
|
+
index
|
|
58
|
+
});
|
|
59
|
+
};
|
|
53
60
|
const {
|
|
54
61
|
place: {
|
|
55
62
|
id: [id] = [],
|
|
@@ -80,7 +87,7 @@ const RoomSelector = _ref => {
|
|
|
80
87
|
}, /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
81
88
|
secondary: hasCart && index !== roomIndex,
|
|
82
89
|
disabled: !hasCart,
|
|
83
|
-
onPress: () =>
|
|
90
|
+
onPress: () => handlePress(index)
|
|
84
91
|
}, "".concat(index === roomIndex && !cart[index] ? "".concat(translate(_Rates.L10N.LABEL_SELECT)) : '', " ").concat(translate(_Rates.L10N.LABEL_ACCOMMODATION_TYPE, {
|
|
85
92
|
type: accommodationType
|
|
86
93
|
}), " ").concat(index + 1).trim(), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","place","id","isHotel","createElement","ScrollView","horizontal","snap","className","styles","roomSelector","map","items","undefined","index","guests","reduce","total","amount","hasCart","View","ref","el","Button","secondary","disabled","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n horizontal\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button secondary={hasCart && index !== roomIndex} disabled={!hasCart} onPress={() => onPress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","handlePress","index","Event","publish","EVENT","METRICS","id","place","isHotel","createElement","ScrollView","horizontal","snap","className","styles","roomSelector","map","items","undefined","guests","reduce","total","amount","hasCart","View","ref","el","Button","secondary","disabled","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const handlePress = (index) => {\n onPress(index);\n Event.publish(EVENT.METRICS, { id: 'RATES:ROOM', index });\n };\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n horizontal\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button secondary={hasCart && index !== roomIndex} disabled={!hasCart} onPress={() => handlePress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
|