@mirai/core 0.3.236 → 0.3.238

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.
Files changed (28) hide show
  1. package/build/components/Deals/Deals.js +5 -5
  2. package/build/components/Deals/Deals.js.map +1 -1
  3. package/build/components/Finder/Finder.js +7 -7
  4. package/build/components/Finder/Finder.js.map +1 -1
  5. package/build/components/Header/Header.js +10 -6
  6. package/build/components/Header/Header.js.map +1 -1
  7. package/build/components/Rates/Rates.Header.js +1 -1
  8. package/build/components/Rates/Rates.Header.js.map +1 -1
  9. package/build/components/Rates/Rates.js +17 -15
  10. package/build/components/Rates/Rates.js.map +1 -1
  11. package/build/components/Rates/components/CardHotel/CardHotel.js +3 -1
  12. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  13. package/build/components/Rates/components/Item/components/Features/Features.js +1 -1
  14. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  15. package/build/components/__shared__/FieldOccupation/FieldOccupation.js +2 -2
  16. package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
  17. package/build/components/__shared__/Occupation/Occupation.js +4 -3
  18. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  19. package/build/components/__shared__/Occupation/helpers/index.js +0 -11
  20. package/build/components/__shared__/Occupation/helpers/index.js.map +1 -1
  21. package/build/helpers/consolidateStore.js +10 -3
  22. package/build/helpers/consolidateStore.js.map +1 -1
  23. package/build/{components/__shared__/Occupation/helpers → helpers}/prepareRoom.js +1 -1
  24. package/build/helpers/prepareRoom.js.map +1 -0
  25. package/build/services/Rates/rates.js +1 -1
  26. package/build/services/Rates/rates.js.map +1 -1
  27. package/package.json +1 -1
  28. package/build/components/__shared__/Occupation/helpers/prepareRoom.js.map +0 -1
@@ -15,10 +15,10 @@ var _Deals2 = require("./Deals.constants");
15
15
  var _Deals3 = require("./Deals.l10n");
16
16
  var style = _interopRequireWildcard(require("./Deals.module.css"));
17
17
  var _helpers = require("./helpers");
18
+ var _prepareRoom = require("../../helpers/prepareRoom");
18
19
  var _shared__ = require("../__shared__");
19
- var _helpers2 = require("../__shared__/Occupation/helpers");
20
20
  var _toParties = require("../__shared__/Occupation/helpers/toParties");
21
- var _helpers3 = require("../helpers");
21
+ var _helpers2 = require("../helpers");
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
23
  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; }
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -91,7 +91,7 @@ const Deals = _ref => {
91
91
  dataSource: occupation = []
92
92
  } = {}
93
93
  } = dataSource || {};
94
- !(value !== null && value !== void 0 && value.occupation) && occupation.length > 0 && handleChange('occupation', [...Array(minRooms)].map(() => (0, _helpers2.prepareRoom)(occupation)));
94
+ !(value !== null && value !== void 0 && value.occupation) && occupation.length > 0 && handleChange('occupation', [...Array(minRooms)].map(() => (0, _prepareRoom.prepareRoom)(occupation)));
95
95
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
96
  }, [dataSource]);
97
97
  (0, _react.useEffect)(() => {
@@ -140,7 +140,7 @@ const Deals = _ref => {
140
140
  parties: window.btoa(JSON.stringify((0, _toParties.toParties)(occupation))),
141
141
  hsri: origin.commissionCode
142
142
  };
143
- window.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_Deals2.REDIRECT_PATH).concat((0, _helpers3.toQueryString)(params));
143
+ window.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_Deals2.REDIRECT_PATH).concat((0, _helpers2.toQueryString)(params));
144
144
  setBusy(true);
145
145
  };
146
146
  const {
@@ -173,7 +173,7 @@ const Deals = _ref => {
173
173
  onPress: handleClear,
174
174
  className: style.action
175
175
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
176
- value: _helpers3.ICON.CLEAR,
176
+ value: _helpers2.ICON.CLEAR,
177
177
  className: style.actionIcon
178
178
  }), translate(_Deals3.L10N.ACTION_CLEAR))), /*#__PURE__*/_react.default.createElement(_Deals.Calendar, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.calendar, {
179
179
  value: calendar,
@@ -1 +1 @@
1
- {"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_helpers","_shared__","_helpers2","_toParties","_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","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref2","_ref$current","current","contains","type","document","addEventListener","removeEventListener","ServiceDeals","getCurrency","catch","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","parties","window","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","L10N","LABEL_SELECT_DATES_PERSONS","Action","onPress","action","Icon","ICON","CLEAR","actionIcon","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","Button","disabled","large","wide","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Action, Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { getCurrency, validate } from './helpers';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target }) => !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n setBusy(false);\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () =>\n setDataSource(\n await ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {}),\n ))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View role=\"deals\" testId={others.testId} className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Action onPress={handleClear} className={style.action}>\n <Icon value={ICON.CLEAR} className={style.actionIcon} />\n {translate(L10N.ACTION_CLEAR)}\n </Action>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_helpers","_prepareRoom","_shared__","_toParties","_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","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref2","_ref$current","current","contains","type","document","addEventListener","removeEventListener","ServiceDeals","getCurrency","catch","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","parties","window","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","L10N","LABEL_SELECT_DATES_PERSONS","Action","onPress","action","Icon","ICON","CLEAR","actionIcon","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","Button","disabled","large","wide","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Action, Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { getCurrency, validate } from './helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target }) => !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n setBusy(false);\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () =>\n setDataSource(\n await ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {}),\n ))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View role=\"deals\" testId={others.testId} className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Action onPress={handleClear} className={style.action}>\n <Icon value={ICON.CLEAR} className={style.actionIcon} />\n {translate(L10N.ACTION_CLEAR)}\n </Action>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
@@ -16,10 +16,10 @@ var _Finder3 = require("./Finder.l10n");
16
16
  var style = _interopRequireWildcard(require("./Finder.module.css"));
17
17
  var _helpers = require("./helpers");
18
18
  var _helpers2 = require("../../helpers");
19
+ var _prepareRoom = require("../../helpers/prepareRoom");
19
20
  var _shared__ = require("../__shared__");
20
- var _helpers3 = require("../__shared__/Occupation/helpers");
21
21
  var _Occupation = require("../__shared__/Occupation/Occupation.constants");
22
- var _helpers4 = require("../helpers");
22
+ var _helpers3 = require("../helpers");
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
24
  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; }
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -69,7 +69,7 @@ const Finder = _ref => {
69
69
  if (!(storeFinder !== null && storeFinder !== void 0 && storeFinder.occupation)) set({
70
70
  finder: {
71
71
  ...storeFinder,
72
- occupation: [(0, _helpers3.prepareRoom)(_Occupation.DATASOURCE)]
72
+ occupation: [(0, _prepareRoom.prepareRoom)(_Occupation.DATASOURCE)]
73
73
  }
74
74
  });
75
75
  if (isMobile) return;
@@ -102,8 +102,8 @@ const Finder = _ref => {
102
102
  setUnavailability(calendar);
103
103
  if (focus) setFocus(focus);
104
104
  };
105
- _dataSources.Event.subscribe(_helpers4.EVENT.FINDER, callback);
106
- return () => _dataSources.Event.unsubscribe(_helpers4.EVENT.FINDER, callback);
105
+ _dataSources.Event.subscribe(_helpers3.EVENT.FINDER, callback);
106
+ return () => _dataSources.Event.unsubscribe(_helpers3.EVENT.FINDER, callback);
107
107
  // eslint-disable-next-line react-hooks/exhaustive-deps
108
108
  }, []);
109
109
 
@@ -238,11 +238,11 @@ const Finder = _ref => {
238
238
  onSubmit: isMobile ? compacted ? handleSubmit : assisted ? assistant : undefined : undefined,
239
239
  testId: testId ? "".concat(testId, "-places") : undefined
240
240
  })), /*#__PURE__*/_react.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.CALENDAR, {
241
- caption: calendar.length ? (0, _helpers4.getCalendarCaption)(calendar, translate, dateFormat) : undefined,
241
+ caption: calendar.length ? (0, _helpers3.getCalendarCaption)(calendar, translate, dateFormat) : undefined,
242
242
  centered: type !== HOTEL,
243
243
  compacted: isCompacted,
244
244
  label: translate(_Finder3.L10N.LABEL_WHEN),
245
- placeholder: (0, _helpers4.getCalendarCaption)(undefined, translate, dateFormat),
245
+ placeholder: (0, _helpers3.getCalendarCaption)(undefined, translate, dateFormat),
246
246
  visible: focus === _Finder2.VIEW.CALENDAR,
247
247
  onPosition: setCalendarPosition,
248
248
  onPress: () => setFocus(focus !== _Finder2.VIEW.CALENDAR ? _Finder2.VIEW.CALENDAR : undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_helpers2","_shared__","_helpers3","_Occupation","_helpers4","_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","memoizedScrollY","Finder","_ref","_dataSource$places","_dataSource$promo","_dataSource$cta","assisted","compacted","layout","text","onChange","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","disabledDates","place","callback","calendar","handleSubmit","nextValue","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","OCCUPATION","includes","promocode","testId","dataSource","getDataSource","ids","hotel","idHotel","isCompacted","createElement","Fragment","Compact","onExpand","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","backgroundColor","maxWidth","Places","autoColumn","getCalendarCaption","centered","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","promo","PROMOCODE","onEnter","onLeave","Button","large","wide","button","cta","ACTION_BOOK","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 { 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, GAP_SCROLL, 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 { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({ assisted = true, compacted = false, layout, text, onChange = () => {}, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { 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\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, 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 Event.subscribe(EVENT.FINDER, callback);\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 if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n 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 };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\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 if (!assisted) return setFocus(undefined);\n\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (focus === VIEW.CALENDAR && !visited.occupation) setFocus(VIEW.OCCUPATION);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n const isCompacted = (compacted && isMobile) || (compacted && !isMobile && !focus);\n\n return (\n <>\n {isCompacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n compacted={isCompacted}\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 className={{ backgroundColor: 'red', maxWidth: 128 }}\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={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n compacted={isCompacted}\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 >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\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 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\n\n <FieldOccupation\n compacted={isCompacted}\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 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={isMobile && compacted ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n compacted={isCompacted}\n placeholder={dataSource.promo?.placeholder}\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={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isCompacted && (\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || dataSource.cta?.placeholder || translate(L10N.ACTION_BOOK)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_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","memoizedScrollY","Finder","_ref","_dataSource$places","_dataSource$promo","_dataSource$cta","assisted","compacted","layout","text","onChange","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","disabledDates","place","callback","calendar","handleSubmit","nextValue","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","OCCUPATION","includes","promocode","testId","dataSource","getDataSource","ids","hotel","idHotel","isCompacted","createElement","Fragment","Compact","onExpand","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","backgroundColor","maxWidth","Places","autoColumn","getCalendarCaption","centered","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","promo","PROMOCODE","onEnter","onLeave","Button","large","wide","button","cta","ACTION_BOOK","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 { 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, GAP_SCROLL, 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 { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({ assisted = true, compacted = false, layout, text, onChange = () => {}, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { 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\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, 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 Event.subscribe(EVENT.FINDER, callback);\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 if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n 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 };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\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 if (!assisted) return setFocus(undefined);\n\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (focus === VIEW.CALENDAR && !visited.occupation) setFocus(VIEW.OCCUPATION);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n const isCompacted = (compacted && isMobile) || (compacted && !isMobile && !focus);\n\n return (\n <>\n {isCompacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n compacted={isCompacted}\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 className={{ backgroundColor: 'red', maxWidth: 128 }}\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={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n compacted={isCompacted}\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 >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\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 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\n\n <FieldOccupation\n compacted={isCompacted}\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 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={isMobile && compacted ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n compacted={isCompacted}\n placeholder={dataSource.promo?.placeholder}\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={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isCompacted && (\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || dataSource.cta?.placeholder || translate(L10N.ACTION_BOOK)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\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;AASA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AAAgD,SAAAkB,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,SAAAb,wBAAAa,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,SAAAvB,uBAAAmC,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;AAGhD,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AACtB,IAAIC,eAAe,GAAG,CAAC;AAEvB,MAAMC,MAAM,GAAGC,IAAA,IAAoG;EAAA,IAAAC,kBAAA,EAAAC,iBAAA,EAAAC,eAAA;EAAA,IAAnG;IAAEC,QAAQ,GAAG,IAAI;IAAEC,SAAS,GAAG,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAV,IAAA;EAC5G,MAAM;IAAEW;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJhC,GAAG;IACHiC,KAAK,EAAE;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAG7B,KAAK;MAAE,GAAG8B;IAAM;EAClG,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,CAACZ,KAAK,EAAEoB,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;EAE1C,IAAAY,gBAAS,EAAC,MAAM;IACd,IAAI,EAACpB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEqB,UAAU,GAAE1D,GAAG,CAAC;MAAEoC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEqB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IACxG,IAAIlC,QAAQ,EAAE;IAEd,MAAMmC,kBAAkB,GAAG,SAAAA,CAAA;MAAA,IAAAC,YAAA;MAAA,IAAC;QAAEzD;MAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,GAAAwD,YAAA,GAAC/B,GAAG,CAACiC,OAAO,cAAAF,YAAA,eAAXA,YAAA,CAAaG,QAAQ,CAAC5D,MAAM,CAAC,KAAI6C,QAAQ,CAACa,SAAS,CAAC;IAAA;IACrGG,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,kBAAkB,EAAE,IAAI,CAAC;IAE5D,OAAO,MAAMK,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,kBAAkB,EAAE,IAAI,CAAC;IAC5E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAJ,gBAAS,EAAC,MAAM;IACdL,iBAAiB,CAAC;MAAEiB,aAAa,EAAE;IAAG,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACpC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyB,UAAU,EAAEzB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqC,KAAK,CAAC,CAAC;EAErC,IAAAb,gBAAS,EAAC,MAAM;IACd,MAAMc,QAAQ,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAEpC,MAAM;QAAEa;MAAM,CAAC,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;MAChD,IAAI8B,MAAM,EAAE,OAAOqC,YAAY,CAAC;QAAEC,SAAS,EAAEtC;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAACoB,QAAQ,CAAC;MAC3B,IAAIvB,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IAED0B,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,MAAM,EAAEP,QAAQ,CAAC;IACvC,OAAO,MAAMI,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,MAAM,EAAEP,QAAQ,CAAC;IACtD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAd,gBAAS,EAAC,MAAMX,WAAW,CAACX,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAsB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrC,SAAS,EAAE;IAEhB,MAAM4D,YAAY,GAAGA,CAAA,KAAM;MACzB,MAAM;QAAEC;MAAQ,CAAC,GAAGC,MAAM;MAC1B,IAAID,OAAO,GAAGpE,eAAe,GAAGsE,mBAAU,IAAIF,OAAO,GAAGpE,eAAe,GAAGsE,mBAAU,EAAE;QACpFtE,eAAe,GAAGoE,OAAO;QACzB/B,QAAQ,CAACa,SAAS,CAAC;MACrB;IACF,CAAC;IACDmB,MAAM,CAACf,gBAAgB,CAAC,QAAQ,EAAEa,YAAY,CAAC;IAE/C,OAAO,MAAME,MAAM,CAACd,mBAAmB,CAAC,QAAQ,EAAEY,YAAY,CAAC;IAC/D;EACF,CAAC,EAAE,CAAC5D,SAAS,CAAC,CAAC;EAEf,IAAAqC,gBAAS,EACP,MAAM2B,IAAI,CAACC,SAAS,CAACpD,KAAK,CAAC,KAAKmD,IAAI,CAACC,SAAS,CAAC,IAAA/B,mBAAU,EAACjB,WAAW,CAAC,CAAC,IAAIgB,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC5G;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAoB,gBAAS,EAAC,MAAM;IACdR,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAA+B,MAAA,CAAIrC,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMsC,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAGzD,KAAK;MAAE,CAACuD,KAAK,GAAGC;IAAW,CAAC;IAE9CpC,QAAQ,CAACqC,IAAI,CAAC;IACdnE,QAAQ,CAACmE,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;EACnC,CAAC;EAED,MAAME,iBAAiB,GAAG,MAAAA,CAAOrB,KAAK,EAAEsB,KAAK,KAAK;IAAA,IAAAC,eAAA;IAChDN,YAAY,CAACO,aAAI,CAACC,KAAK,EAAEzB,KAAK,EAAEsB,KAAK,CAAC;IACtC,IAAItB,KAAK,CAAC0B,OAAO,IAAI,GAAAH,eAAA,GAAC,IAAAI,wBAAc,EAACf,MAAM,CAACgB,QAAQ,CAACC,MAAM,CAAC,cAAAN,eAAA,eAAtCA,eAAA,CAAwC3D,QAAQ,GAAE;MACtE;MACAY,WAAW,CAAC,MAAM,IAAAsD,uBAAa,EAAC9B,KAAK,CAAC+B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C;IACAlF,QAAQ,IAAImF,SAAS,CAAC,CAAC;EACzB,CAAC;EAED,MAAM7B,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAA/B;MAAEC,SAAS,GAAGzC;IAAM,CAAC,GAAA3B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;IAC9C,MAAM,CAACiG,UAAU,CAAC,GAAG/G,MAAM,CAACgH,IAAI,CAACzD,KAAK,CAAC,CAAC0D,MAAM,CAAEhG,GAAG,IAAK,CAAC,CAACsC,KAAK,CAACtC,GAAG,CAAC,CAAC;IACrE,IAAI8F,UAAU,EAAE,OAAOrD,QAAQ,CAACqD,UAAU,CAAC;IAE3CrD,QAAQ,CAACa,SAAS,CAAC;IACnB/D,GAAG,CAAC;MAAEoC,MAAM,EAAEsC;IAAU,CAAC,CAAC;IAC1B,MAAMgC,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAGjC,SAAS;MAAExC,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEE,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhG,IAAIhB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGkD,SAAS;MAAEgC;IAAa,CAAC,CAAC,CAAC,KAClDxB,MAAM,CAACgB,QAAQ,CAACU,IAAI,GAAGF,YAAY;EAC1C,CAAC;EAED,MAAMJ,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,CAACnF,QAAQ,EAAE,OAAO+B,QAAQ,CAACa,SAAS,CAAC;IAEzC,MAAM;MAAES,QAAQ,GAAG;IAAG,CAAC,GAAGvC,KAAK;IAC/B,IAAIgB,KAAK,KAAK6C,aAAI,CAACC,KAAK,IAAI,CAACxC,OAAO,CAACiB,QAAQ,IAAIA,QAAQ,CAACjE,MAAM,KAAK,CAAC,EAAE2C,QAAQ,CAAC4C,aAAI,CAACe,QAAQ,CAAC,CAAC,KAC3F,IAAI5D,KAAK,KAAK6C,aAAI,CAACe,QAAQ,IAAI,CAACtD,OAAO,CAACG,UAAU,EAAER,QAAQ,CAAC4C,aAAI,CAACgB,UAAU,CAAC,CAAC,KAC9E,IAAI,CAAC1F,SAAS,IAAKD,QAAQ,IAAI,CAAC2E,aAAI,CAACe,QAAQ,EAAEf,aAAI,CAACC,KAAK,CAAC,CAACgB,QAAQ,CAAC9D,KAAK,CAAE,EAAEC,QAAQ,CAACa,SAAS,CAAC;EACvG,CAAC;EAED,MAAM;IAAEO,KAAK,GAAG,CAAC,CAAC;IAAEE,QAAQ,GAAG,EAAE;IAAEd,UAAU;IAAEsD;EAAU,CAAC,GAAG/E,KAAK;EAClE,MAAM;IAAEgF;EAAO,CAAC,GAAGxF,MAAM;EACzB,MAAMyF,UAAU,GAAG,IAAAC,sBAAa,EAAC;IAAE3E,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAE6B,KAAK,EAAE;MAAE+B,EAAE,EAAEe,GAAG,GAAG,EAAE;MAAEpB;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG/D,KAAK,IAAI,CAAC,CAAC;EAC7D,MAAM;IAAEoF,KAAK,EAAE;MAAEhB,EAAE,EAAEiB;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG7E,KAAK;EAC7C,MAAM4D,EAAE,GAAG7D,IAAI,KAAK7B,KAAK,GAAIqF,OAAO,IAAIoB,GAAG,CAAC7G,MAAM,KAAK,CAAC,GAAG6G,GAAG,CAAC,CAAC,CAAC,GAAGrD,SAAS,GAAIuD,OAAO;EACxF,MAAMC,WAAW,GAAInG,SAAS,IAAIM,QAAQ,IAAMN,SAAS,IAAI,CAACM,QAAQ,IAAI,CAACuB,KAAM;EAEjF,oBACElF,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAAzJ,MAAA,CAAAmB,OAAA,CAAAuI,QAAA,QACGF,WAAW,iBAAIxJ,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACtJ,OAAA,CAAAwJ,OAAO;IAAOzF,KAAK;IAAEiF,UAAU;IAAIS,QAAQ,EAAEzE,QAAS;IAAC1B,QAAQ,EAAEiD;EAAa,CAAE,CAAC,eAClG1G,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC5J,GAAA,CAAAgK,IAAI;IACHC,IAAI,EAAC,QAAQ;IACb9F,GAAG,EAAEA,GAAI;IACT+F,GAAG,EAAE,CAACpG,QAAS;IACfuF,MAAM,EAAExF,MAAM,CAACwF,MAAO;IACtBc,SAAS,EAAE,IAAAC,UAAM,EAAC3J,KAAK,CAAC+D,MAAM,EAAEf,MAAM,IAAIhD,KAAK,CAACgD,MAAM,CAAC,EAAEI,MAAM,CAACsG,SAAS;EAAE,GAE1Eb,UAAU,CAACe,MAAM,iBAChBlK,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAyJ,KAAK,EAAAhI,QAAA,KACAiI,cAAK,CAACpC,KAAK;IACfqC,OAAO,EAAE,IAAAC,wBAAe,EAAC/D,KAAK,CAACrC,KAAK,EAAEiF,UAAU,CAACe,MAAM,CAACK,OAAO,CAAE;IACjElH,SAAS,EAAEmG,WAAY;IACvBgB,KAAK,EAAE1G,SAAS,CAAC2G,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAExB,UAAU,CAACe,MAAM,CAACS,WAAW,IAAI7G,SAAS,CAAC2G,aAAI,CAACG,uBAAuB,CAAE;IACtFC,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACC,KAAM;IAC9B8C,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAGhC,SAAS,CAAE;IACvEgE,SAAS,EAAE;MAAEe,eAAe,EAAE,KAAK;MAAEC,QAAQ,EAAE;IAAI;EAAE,iBAErDhL,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACvJ,WAAA,CAAA+K,MAAM;IACLC,UAAU,EAAEhG,KAAK,KAAK6C,aAAI,CAACC,KAAM;IACjCmB,UAAU,EAAEA,UAAU,CAACe,MAAM,CAACK,OAAQ;IACtChH,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnC9B,KAAK,EAAEqC,KAAK,CAACrC,KAAM;IACnBV,QAAQ,EAAEoE,iBAAkB;IAC5BnE,QAAQ,EAAEE,QAAQ,GAAIN,SAAS,GAAGqD,YAAY,GAAGtD,QAAQ,GAAGmF,SAAS,GAAGvC,SAAS,GAAIA,SAAU;IAC/FkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,eAAYlD;EAAU,CACjD,CACI,CACR,eAEDhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAyJ,KAAK,EAAAhI,QAAA,KACAiI,cAAK,CAACtB,QAAQ;IAClBuB,OAAO,EAAE5D,QAAQ,CAACjE,MAAM,GAAG,IAAA2I,4BAAkB,EAAC1E,QAAQ,EAAE3C,SAAS,EAAED,UAAU,CAAC,GAAGmC,SAAU;IAC3FoF,QAAQ,EAAE3G,IAAI,KAAK7B,KAAM;IACzBS,SAAS,EAAEmG,WAAY;IACvBgB,KAAK,EAAE1G,SAAS,CAAC2G,aAAI,CAACY,UAAU,CAAE;IAClCV,WAAW,EAAE,IAAAQ,4BAAkB,EAACnF,SAAS,EAAElC,SAAS,EAAED,UAAU,CAAE;IAClEgH,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACe,QAAS;IACjCwC,UAAU,EAAEzG,mBAAoB;IAChCiG,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACe,QAAQ,GAAGf,aAAI,CAACe,QAAQ,GAAG9C,SAAS;EAAE,iBAE7EhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACvJ,WAAA,CAAAqL,QAAQ,EAAApJ,QAAA,KACH,IAAAqJ,2BAAkB,EAACrC,UAAU,CAAC1C,QAAQ,EAAE6B,EAAE,EAAE3C,UAAU,EAAElB,IAAI,EAAEW,cAAc,EAAE+D,UAAU,CAACsC,QAAQ,CAAC;IACtGnD,EAAE,EAAEA,EAAG;IACPnE,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAEA,MAAO;IACfjB,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnCZ,cAAc,EAAEA,cAAe;IAC/BlB,KAAK,EAAEuC,QAAS;IAChBjD,QAAQ,EAAEA,CAACiD,QAAQ,EAAEoB,KAAK,KAAK;MAC7BL,YAAY,CAACO,aAAI,CAACe,QAAQ,EAAErC,QAAQ,EAAEoB,KAAK,CAAC;MAC5C,IAAIpB,QAAQ,CAACjE,MAAM,KAAK,CAAC,IAAIY,QAAQ,EAAEmF,SAAS,CAAC,CAAC;IACpD,CAAE;IACFmD,OAAO,EAAGjF,QAAQ,IAAKxB,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEyB;IAAS,CAAC,CAAE;IACxDkF,OAAO,EAAEA,CAAA,KAAM1G,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEyB,QAAQ,EAAET;IAAU,CAAC,CAAE;IAC3DvC,QAAQ,EAAEE,QAAQ,GAAIN,SAAS,GAAGqD,YAAY,GAAGtD,QAAQ,GAAGmF,SAAS,GAAGvC,SAAS,GAAIA,SAAU;IAC/FgE,SAAS,EAAE,IAAAC,UAAM,EAAC,CAAArF,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEgH,GAAG,KAAItL,KAAK,CAACuL,aAAa,CAAE;IAChE3C,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,iBAAclD;EAAU,EACnD,CACI,CAAC,eAERhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAoL,eAAe;IACdzI,SAAS,EAAEmG,WAAY;IACvBL,UAAU,EAAE,IAAA4C,gCAAuB,EAAC;MAClC,GAAG5C,UAAU;MACbe,MAAM,GAAAjH,kBAAA,GAAEkG,UAAU,CAACe,MAAM,cAAAjH,kBAAA,uBAAjBA,kBAAA,CAAmBsH,OAAO;MAClChE,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAErC;IAChB,CAAC,CAAE;IACH8H,MAAM,EAAE,IAAAC,kBAAS,EAAC9C,UAAU,CAAC+C,YAAY,EAAE3F,KAAK,CAACrC,KAAK,CAAE;IACxDiI,QAAQ,EAAEhD,UAAU,CAACgD,QAAS;IAC9B5I,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnC9B,KAAK,EAAEyB,UAAW;IAClBkF,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACgB,UAAW;IACnCvF,QAAQ,EAAEA,CAACmC,UAAU,EAAEkC,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACgB,UAAU,EAAEpD,UAAU,EAAEkC,KAAK,CAAE;IAClF6D,OAAO,EAAG/F,UAAU,IAAK;MACvB,IAAI,CAAChC,QAAQ,IAAIuB,KAAK,KAAK6C,aAAI,CAACgB,UAAU,EAAE5D,QAAQ,CAAC4C,aAAI,CAACgB,UAAU,CAAC;MACrE9D,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEW;MAAW,CAAC,CAAC;IACpC,CAAE;IACFmF,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACgB,UAAU,GAAGhB,aAAI,CAACgB,UAAU,GAAG/C,SAAS,CAAE;IACjFvC,QAAQ,EAAEE,QAAQ,IAAIN,SAAS,GAAGqD,YAAY,GAAGV,SAAU;IAC3D2F,OAAO,EAAEA,CAAA,KAAM1G,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEW,UAAU,EAAEK;IAAU,CAAC,CAAE;IAC7DkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,mBAAgBlD;EAAU,CACrD,CAAC,eAEFhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAA0L,cAAc;IACb/I,SAAS,EAAEmG,WAAY;IACvBmB,WAAW,GAAAzH,iBAAA,GAAEiG,UAAU,CAACkD,KAAK,cAAAnJ,iBAAA,uBAAhBA,iBAAA,CAAkByH,WAAY;IAC3CzG,KAAK,EAAE+E,SAAU;IACjB4B,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACuE,SAAU;IAClC9I,QAAQ,EAAEA,CAACyF,SAAS,EAAEpB,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACuE,SAAS,EAAErD,SAAS,EAAEpB,KAAK,CAAE;IAC/E0E,OAAO,EAAE,CAAClJ,SAAS,GAAG,MAAM8B,QAAQ,CAAC4C,aAAI,CAACuE,SAAS,CAAC,GAAGtG,SAAU;IACjEwG,OAAO,EAAE,CAACnJ,SAAS,GAAG,MAAM8B,QAAQ,CAACa,SAAS,CAAC,GAAGA,SAAU;IAC5D8E,OAAO,EACLnH,QAAQ,IAAIN,SAAS,GAAG,MAAM8B,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACuE,SAAS,GAAGvE,aAAI,CAACuE,SAAS,GAAGtG,SAAS,CAAC,GAAGA,SACjG;IACDvC,QAAQ,EAAEE,QAAQ,IAAIN,SAAS,GAAGqD,YAAY,GAAGV,SAAU;IAC3DkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,kBAAelD;EAAU,CACpD,CAAC,EAED,CAACwD,WAAW,iBACXxJ,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC5J,GAAA,CAAA4M,MAAM;IACLC,KAAK;IACLC,IAAI,EAAEhJ,QAAS;IACfmH,OAAO,EAAEpE,YAAa;IACtBsD,SAAS,EAAE1J,KAAK,CAACsM,MAAO;IACxB1D,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,eAAYlD;EAAU,GAE/CzC,IAAI,MAAAJ,eAAA,GAAIgG,UAAU,CAAC0D,GAAG,cAAA1J,eAAA,uBAAdA,eAAA,CAAgBwH,WAAW,KAAI7G,SAAS,CAAC2G,aAAI,CAACqC,WAAW,CAC5D,CAEN,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAhK,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACiK,WAAW,GAAG,mBAAmB;AAExCjK,MAAM,CAACkK,SAAS,GAAG;EACjB7J,QAAQ,EAAE8J,kBAAS,CAACC,IAAI;EACxB9J,SAAS,EAAE6J,kBAAS,CAACC,IAAI;EACzB7J,MAAM,EAAE4J,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnC7J,IAAI,EAAE2J,kBAAS,CAACG,MAAM;EACtB7J,QAAQ,EAAE0J,kBAAS,CAACI,IAAI;EACxB7J,QAAQ,EAAEyJ,kBAAS,CAACI;AACtB,CAAC"}
@@ -16,6 +16,7 @@ var _Header2 = require("./Header.l10n");
16
16
  var style = _interopRequireWildcard(require("./Header.module.css"));
17
17
  var _shared__ = require("../__shared__");
18
18
  var _helpers = require("../helpers");
19
+ var _Session = require("../Session/Session.Account");
19
20
  var _SessionLogin = require("../Session/Session.Login.Modal");
20
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
22
  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; }
@@ -54,15 +55,17 @@ const Header = _ref => {
54
55
  features = {},
55
56
  url
56
57
  } = {},
57
- id
58
- } = {},
59
- locale
58
+ id,
59
+ locale,
60
+ session
61
+ } = {}
60
62
  } = (0, _dataSources.useStore)();
61
63
  const [modal, setModal] = (0, _react.useState)(false);
62
64
  (0, _react.useEffect)(() => {
63
65
  hasTracking = _services.ServiceFeatures.get(_Header.FEATURE_HEADER_TRACKING, id);
64
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
65
67
  }, []);
68
+ const handleClose = () => setModal(false);
66
69
  const handleLogin = () => {
67
70
  hasTracking && track("".concat(_Header.TRACKING, ":ACTION:SHOW_LOGIN"), {
68
71
  locale
@@ -117,7 +120,7 @@ const Header = _ref => {
117
120
  compacted: isMobile,
118
121
  headerMode: true,
119
122
  name: "currency"
120
- }), showLogin && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
123
+ }), showLogin && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, session ? /*#__PURE__*/_react.default.createElement(_Session.Account, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
121
124
  onPress: handleLogin,
122
125
  className: style.login
123
126
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -131,8 +134,9 @@ const Header = _ref => {
131
134
  small: isMobile
132
135
  }, translate(_Header2.L10N.ACTION_LOGIN)))), /*#__PURE__*/_react.default.createElement(_SessionLogin.Modal, {
133
136
  visible: modal,
134
- onClose: () => setModal(false)
135
- }))))), showName && logo && name && /*#__PURE__*/_react.default.createElement(_ui.View, {
137
+ onClose: handleClose,
138
+ onSuccess: handleClose
139
+ })))))), showName && logo && name && /*#__PURE__*/_react.default.createElement(_ui.View, {
136
140
  className: (0, _ui.styles)(style.header, style.extra, others.className)
137
141
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
138
142
  row: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Header","_Header2","style","_shared__","_helpers","_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","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","useStore","modal","setModal","useState","useEffect","ServiceFeatures","FEATURE_HEADER_TRACKING","handleLogin","concat","TRACKING","handleUrl","window","location","logo","largeName","nameProps","action","small","createElement","Fragment","View","wide","testId","className","styles","header","row","content","main","Pressable","onPress","undefined","dangerouslySetInnerHTML","__html","outerHTML","tag","src","image","Text","bold","BookingProcess","options","SelectEnvironment","compacted","headerMode","Icon","role","ICON","ACCOUNT","L10N","ACTION_LOGIN","Modal","visible","onClose","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { 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 { ICON } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet hasTracking = false;\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = false,\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 } = {},\n locale,\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 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 } = (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\n return (\n <>\n <View 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 tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold>\n {name}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess />}\n </View>\n\n <View row className={style.options}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode name=\"currency\" />}\n {showLogin && (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon role=\"content\" value={ICON.ACCOUNT} />\n <Text action={!isMobile} bold small={isMobile}>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\n </View>\n </Pressable>\n <ModalLogin visible={modal} onClose={() => setModal(false)} />\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}>{name}</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","_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","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","handleClose","handleLogin","concat","TRACKING","handleUrl","window","location","logo","largeName","nameProps","action","small","createElement","Fragment","View","wide","testId","className","styles","header","row","content","main","Pressable","onPress","undefined","dangerouslySetInnerHTML","__html","outerHTML","tag","src","image","Text","bold","BookingProcess","options","SelectEnvironment","compacted","headerMode","Account","Icon","role","ICON","ACCOUNT","L10N","ACTION_LOGIN","Modal","visible","onClose","onSuccess","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { 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 { 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 = false,\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 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 } = (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\n return (\n <>\n <View 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 tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold>\n {name}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess />}\n </View>\n\n <View row className={style.options}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode name=\"currency\" />}\n {showLogin && (\n <>\n {session ? (\n <Account />\n ) : (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon role=\"content\" value={ICON.ACCOUNT} />\n <Text action={!isMobile} bold small={isMobile}>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\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}>{name}</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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"}
@@ -31,7 +31,7 @@ const Header = _ref => {
31
31
  } = {},
32
32
  multiRoom,
33
33
  showStrictSearch,
34
- strictSearch = false,
34
+ strictSearch = true,
35
35
  onClubDiscount = () => {},
36
36
  onSelect = () => {},
37
37
  onStrictSearch = () => {},
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","clubDiscount","dataSource","clubConditions","items","features","showClubDiscount","multiRoom","showStrictSearch","strictSearch","onClubDiscount","onSelect","onStrictSearch","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","session","urlParams","clientCode","idoffers","roomTypeId","useStore","contentBackground","Theme","expandClubDiscount","undefined","hasItems","filters","InputFilter","_ref2","checked","text","onChange","createElement","View","row","className","tag","filter","InputOption","Text","action","Switch","switch","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","highlight","L10N","LABEL_SHOW_FILTERED_RESULTS","LABEL_SHOW_ONLY_PROMOS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_ROOM","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","bold","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Icon, InputOption, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n features: { showClubDiscount = false } = {},\n multiRoom,\n showStrictSearch,\n strictSearch = false,\n onClubDiscount = () => {},\n onSelect = () => {},\n onStrictSearch = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, session, urlParams: { clientCode, idoffers, roomTypeId } } = {} } =\n useStore();\n\n const { contentBackground } = Theme.get();\n const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;\n const hasItems = items.length > 0;\n const filters = [clientCode, idoffers, roomTypeId];\n\n // eslint-disable-next-line react/prop-types\n const InputFilter = ({ checked, children, name, text, onChange }) => (\n <View row className={[style.tag, style.filter]}>\n {!isMobile && <InputOption {...{ checked, name, onChange }} />}\n <View row className={style.text}>\n <Text action>{text}</Text>\n {children}\n </View>\n {isMobile && <Switch {...{ checked, name, onChange }} className={style.switch} />}\n </View>\n );\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {showStrictSearch && (\n <InputFilter\n checked={strictSearch}\n name=\"strictSearch\"\n text={translate(\n filters.filter((filter) => !!filter).length > 1\n ? L10N.LABEL_SHOW_FILTERED_RESULTS\n : clientCode\n ? L10N.LABEL_SHOW_ONLY_PROMOS\n : idoffers\n ? L10N.LABEL_SHOW_ONLY_DEALS\n : L10N.LABEL_SHOW_ONLY_ROOM,\n )}\n onChange={onStrictSearch}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <InputFilter\n checked={clubDiscount}\n name=\"clubDiscount\"\n text={translate(L10N.LABEL_APPLY_DISCOUNTS)}\n onChange={onClubDiscount}\n >\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </InputFilter>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n showStrictSearch: PropTypes.bool,\n strictSearch: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onStrictSearch: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","clubDiscount","dataSource","clubConditions","items","features","showClubDiscount","multiRoom","showStrictSearch","strictSearch","onClubDiscount","onSelect","onStrictSearch","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","session","urlParams","clientCode","idoffers","roomTypeId","useStore","contentBackground","Theme","expandClubDiscount","undefined","hasItems","filters","InputFilter","_ref2","checked","text","onChange","createElement","View","row","className","tag","filter","InputOption","Text","action","Switch","switch","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","highlight","L10N","LABEL_SHOW_FILTERED_RESULTS","LABEL_SHOW_ONLY_PROMOS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_ROOM","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","bold","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Icon, InputOption, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n features: { showClubDiscount = false } = {},\n multiRoom,\n showStrictSearch,\n strictSearch = true,\n onClubDiscount = () => {},\n onSelect = () => {},\n onStrictSearch = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, session, urlParams: { clientCode, idoffers, roomTypeId } } = {} } =\n useStore();\n\n const { contentBackground } = Theme.get();\n const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;\n const hasItems = items.length > 0;\n const filters = [clientCode, idoffers, roomTypeId];\n\n // eslint-disable-next-line react/prop-types\n const InputFilter = ({ checked, children, name, text, onChange }) => (\n <View row className={[style.tag, style.filter]}>\n {!isMobile && <InputOption {...{ checked, name, onChange }} />}\n <View row className={style.text}>\n <Text action>{text}</Text>\n {children}\n </View>\n {isMobile && <Switch {...{ checked, name, onChange }} className={style.switch} />}\n </View>\n );\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {showStrictSearch && (\n <InputFilter\n checked={strictSearch}\n name=\"strictSearch\"\n text={translate(\n filters.filter((filter) => !!filter).length > 1\n ? L10N.LABEL_SHOW_FILTERED_RESULTS\n : clientCode\n ? L10N.LABEL_SHOW_ONLY_PROMOS\n : idoffers\n ? L10N.LABEL_SHOW_ONLY_DEALS\n : L10N.LABEL_SHOW_ONLY_ROOM,\n )}\n onChange={onStrictSearch}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <InputFilter\n checked={clubDiscount}\n name=\"clubDiscount\"\n text={translate(L10N.LABEL_APPLY_DISCOUNTS)}\n onChange={onClubDiscount}\n >\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </InputFilter>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n showStrictSearch: PropTypes.bool,\n strictSearch: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onStrictSearch: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -78,7 +78,7 @@ const Rates = _ref => {
78
78
  const [login, setLogin] = (0, _react.useState)(false);
79
79
  const [responseError, setResponseError] = (0, _react.useState)();
80
80
  const [room, setRoom] = (0, _react.useState)();
81
- const [strictSearch, setStrictSearch] = (0, _react.useState)(true);
81
+ const [strictSearch, setStrictSearch] = (0, _react.useState)();
82
82
  const {
83
83
  calendar = [],
84
84
  occupation = [],
@@ -106,20 +106,12 @@ const Rates = _ref => {
106
106
 
107
107
  // -- hooks ----------------------------------------------------------------------------------------------------------
108
108
  (0, _react.useEffect)(() => {
109
- if (!clubDiscount && !currency && !session) return;
109
+ if (!clubDiscount && !currency && !session && strictSearch === undefined) return;
110
110
  setCart([]);
111
111
  setRoom(undefined);
112
112
  debounceFetch();
113
113
  // eslint-disable-next-line react-hooks/exhaustive-deps
114
- }, [clubDiscount, currency, strictSearch, session]);
115
- (0, _react.useEffect)(() => {
116
- const {
117
- clientCode,
118
- idoffers,
119
- roomTypeId
120
- } = urlParams || {};
121
- setStrictSearch(!!clientCode || !!idoffers || !!roomTypeId);
122
- }, [urlParams]);
114
+ }, [clubDiscount, currency, session, strictSearch]);
123
115
  (0, _react.useEffect)(() => {
124
116
  if (!locale) return;
125
117
  debounceFetch(room);
@@ -165,7 +157,17 @@ const Rates = _ref => {
165
157
  });
166
158
  setFetching(true);
167
159
  setResponseError();
168
- const urlParams = (0, _helpers2.fetchUrlParams)(location.search);
160
+ let urlParams = (0, _helpers2.fetchUrlParams)(location.search);
161
+ if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {
162
+ urlParams = {
163
+ ...urlParams,
164
+ ...(0, _helpers.getFinderParams)({
165
+ ...finder,
166
+ hotel
167
+ })
168
+ };
169
+ (0, _helpers3.replaceUrlParams)(urlParams);
170
+ }
169
171
  const params = {
170
172
  ...urlParams,
171
173
  club,
@@ -212,8 +214,8 @@ const Rates = _ref => {
212
214
  setClubDiscount(next);
213
215
  login && setLogin(false);
214
216
  };
215
- const handleStrictSearch = () => {
216
- setStrictSearch(!strictSearch);
217
+ const handleStrictSearch = value => {
218
+ setStrictSearch(value);
217
219
  };
218
220
  const handleFinder = function () {
219
221
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -313,7 +315,7 @@ const Rates = _ref => {
313
315
  room,
314
316
  onPress: setRoom
315
317
  };
316
- const showStrictSearch = (urlParams === null || urlParams === void 0 ? void 0 : urlParams.clientCode) || !!(urlParams !== null && urlParams !== void 0 && urlParams.idoffers) || (urlParams === null || urlParams === void 0 ? void 0 : urlParams.roomTypeId);
318
+ const showStrictSearch = !!(finder !== null && finder !== void 0 && finder.promocode) || !!(urlParams !== null && urlParams !== void 0 && urlParams.idoffers) || (urlParams === null || urlParams === void 0 ? void 0 : urlParams.roomTypeId);
317
319
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
318
320
  currency: true,
319
321
  locale: true,