@mirai/core 0.4.337 → 0.4.339

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.
@@ -107,6 +107,14 @@ const Calendar = _ref => {
107
107
  setVisibleDate(value);
108
108
  return showPrices && id && getPrices(value);
109
109
  };
110
+ const handleScroll = (_ref2, months) => {
111
+ let {
112
+ percentY
113
+ } = _ref2;
114
+ const date = (0, _helpers.getVisibleDate)(percentY, months);
115
+ setVisibleDate(date);
116
+ return showPrices && id && getPrices(date, _Calendar.MONTHS);
117
+ };
110
118
  const handleSubmit = event => onSubmit(value, event);
111
119
  const {
112
120
  testId
@@ -160,8 +168,8 @@ const Calendar = _ref => {
160
168
  value: value,
161
169
  onChange: handleChange,
162
170
  onFocus: setFocus,
163
- onLoadMore: handleNavigation,
164
171
  onNavigation: handleNavigation,
172
+ onScroll: handleScroll,
165
173
  className: (0, _ui.styles)(style.calendar, others.className)
166
174
  })), (prices === null || prices === void 0 ? void 0 : prices.currency) && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
167
175
  inline: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Calendar","_Calendar2","style","_helpers","_shared__","_helpers2","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","currency","DEFAULT_CURRENCY","id","locale","pricesLegend","rangeMaxDays","RANGE_MAX_DAYS","rangeMinDays","showPrices","text","top","unavailability","disabledDates","minStayDates","minStayType","onChange","onError","onSubmit","onValid","others","isMobile","useDevice","translate","useLocale","value","skeleton","store","useStore","focus","setFocus","useState","prices","setPrices","setValue","valueFormat","visibleDate","setVisibleDate","useEffect","nextValue","parseValue","getPrices","dateCalc","Date","MONTHS","from","to","ERROR","NOT_FILLED","JSON","stringify","rangeMonths","undefined","IS_JEST","next","fetchPrices","current","values","handleChange","event","handleNavigation","handleSubmit","testId","props","range","config","hotels","dataSource","lodgingDenomination","individual","tagId","getDataSource","places","options","find","ids","isHotel","accommodationType","getAccommodationType","getHotels","placesSource","createElement","View","role","className","styles","container","captions","format","CALENDAR_FORMAT","l10n","actionLoadMore","L10N","ACTION_LOAD_MORE_DATES","months","MONTHS_IN_MOBILE","scrollEventThrottle","SCROLL_EVENT_MS","tooltips","calcTooltips","onFocus","onLoadMore","onNavigation","calendar","Notification","inline","small","notification","LABEL_INFO_PRICES","accommodation","LABEL_ACCOMMODATION_TYPE","type","guests","nights","taxType","row","footer","BookingDates","Button","concat","disabled","onPress","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","oneOf","CURRENCIES","string","number","bool","TAX","TAX_FREE","TAX_PARTIAL","shape","arrayOf","instanceOf","func"],"sources":["../../../../../src/components/Finder/components/Calendar/Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { CURRENCIES, DEFAULT_CURRENCY, dateCalc } from '@mirai/locale';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, Notification, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, MONTHS, RANGE_MAX_DAYS, SCROLL_EVENT_MS, TAX, TAX_FREE, TAX_PARTIAL } from './Calendar.constants';\nimport { L10N } from './Calendar.l10n';\nimport * as style from './Calendar.module.css';\nimport { calcTooltips, fetchPrices } from './helpers';\nimport { BookingDates } from '../../../__shared__';\nimport {\n CALENDAR_FORMAT,\n getAccommodationType,\n IS_JEST,\n MONTHS_IN_MOBILE,\n parseValue,\n valueFormat,\n} from '../../../helpers';\nimport { getDataSource, getHotels } from '../../helpers';\n\nconst Calendar = ({\n currency = DEFAULT_CURRENCY,\n id,\n locale,\n pricesLegend,\n rangeMaxDays = RANGE_MAX_DAYS,\n rangeMinDays,\n showPrices,\n text,\n top = false,\n unavailability: { disabledDates = [], minStayDates = {}, minStayType } = {},\n onChange,\n onError,\n onSubmit,\n onValid,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { skeleton = false, ...store },\n } = useStore();\n\n const [focus, setFocus] = useState();\n const [prices, setPrices] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n const [visibleDate, setVisibleDate] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n setPrices();\n\n const nextValue = visibleDate || (value?.length && value[0] && parseValue(value)[0]);\n showPrices && id && getPrices((nextValue && dateCalc(nextValue, -1, 'months')) || new Date(), MONTHS);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, id, showPrices]);\n\n useEffect(() => {\n const [from, to] = value || [];\n\n if (onValid && from && to) onValid();\n else if (onError && (!from || !to)) onError(ERROR.NOT_FILLED);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n setVisibleDate();\n\n JSON.stringify(value) !== JSON.stringify(valueFormat(others.value)) && setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const getPrices = async (from, rangeMonths = 2) => {\n if (IS_JEST || !from) return;\n\n const next = await fetchPrices({ currency, from, id, locale, rangeMonths });\n setPrices((current) => {\n return { currency: next.currency, values: { ...current?.values, ...next?.values } };\n });\n };\n\n const handleChange = (next = [], event) => {\n setFocus(undefined);\n setValue(valueFormat(next));\n onChange && onChange(next, event);\n };\n\n const handleNavigation = (value) => {\n setVisibleDate(value);\n\n return showPrices && id && getPrices(value);\n };\n\n const handleSubmit = (event) => onSubmit(value, event);\n\n const { testId } = others;\n const [from, to] = parseValue(value);\n const props = { ...others, locale, range: true, rangeMaxDays, rangeMinDays };\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return (\n <View role=\"calendar\" className={styles(style.container, top && style.top)}>\n <CalendarBase\n {...props}\n captions={prices?.values}\n disabledDates={disabledDates}\n format={CALENDAR_FORMAT}\n l10n={{ actionLoadMore: translate(L10N.ACTION_LOAD_MORE_DATES) }}\n months={isMobile ? MONTHS_IN_MOBILE : undefined}\n scrollEventThrottle={SCROLL_EVENT_MS}\n tooltips={calcTooltips({ from, minStayDates, minStayType, rangeMinDays, to, translate })}\n value={value}\n onChange={handleChange}\n onFocus={setFocus}\n onLoadMore={handleNavigation}\n onNavigation={handleNavigation}\n className={styles(style.calendar, others.className)}\n />\n\n {prices?.currency && (\n <Notification inline small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: 2,\n nights: 1,\n taxType: pricesLegend,\n })}\n </Notification>\n )}\n\n {onSubmit && (\n <View row className={style.footer}>\n <BookingDates {...{ from, focus, to, rangeMinDays }} />\n <Button testId={testId ? `${testId}-submit` : undefined} disabled={!from || !to} onPress={handleSubmit}>\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nCalendar.displayName = 'Mirai:Core:Finder:Calendar';\n\nCalendar.propTypes = {\n currency: PropTypes.oneOf(CURRENCIES),\n id: PropTypes.string,\n locale: PropTypes.string,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n showPrices: PropTypes.bool,\n pricesLegend: PropTypes.oneOf([TAX, TAX_FREE, TAX_PARTIAL]),\n text: PropTypes.string,\n top: PropTypes.bool,\n unavailability: PropTypes.shape({}),\n value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Calendar","_Calendar2","style","_helpers","_shared__","_helpers2","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","currency","DEFAULT_CURRENCY","id","locale","pricesLegend","rangeMaxDays","RANGE_MAX_DAYS","rangeMinDays","showPrices","text","top","unavailability","disabledDates","minStayDates","minStayType","onChange","onError","onSubmit","onValid","others","isMobile","useDevice","translate","useLocale","value","skeleton","store","useStore","focus","setFocus","useState","prices","setPrices","setValue","valueFormat","visibleDate","setVisibleDate","useEffect","nextValue","parseValue","getPrices","dateCalc","Date","MONTHS","from","to","ERROR","NOT_FILLED","JSON","stringify","rangeMonths","undefined","IS_JEST","next","fetchPrices","current","values","handleChange","event","handleNavigation","handleScroll","_ref2","months","percentY","date","getVisibleDate","handleSubmit","testId","props","range","config","hotels","dataSource","lodgingDenomination","individual","tagId","getDataSource","places","options","find","ids","isHotel","accommodationType","getAccommodationType","getHotels","placesSource","createElement","View","role","className","styles","container","captions","format","CALENDAR_FORMAT","l10n","actionLoadMore","L10N","ACTION_LOAD_MORE_DATES","MONTHS_IN_MOBILE","scrollEventThrottle","SCROLL_EVENT_MS","tooltips","calcTooltips","onFocus","onNavigation","onScroll","calendar","Notification","inline","small","notification","LABEL_INFO_PRICES","accommodation","LABEL_ACCOMMODATION_TYPE","type","guests","nights","taxType","row","footer","BookingDates","Button","concat","disabled","onPress","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","oneOf","CURRENCIES","string","number","bool","TAX","TAX_FREE","TAX_PARTIAL","shape","arrayOf","instanceOf","func"],"sources":["../../../../../src/components/Finder/components/Calendar/Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { CURRENCIES, DEFAULT_CURRENCY, dateCalc } from '@mirai/locale';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, Notification, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, MONTHS, RANGE_MAX_DAYS, SCROLL_EVENT_MS, TAX, TAX_FREE, TAX_PARTIAL } from './Calendar.constants';\nimport { L10N } from './Calendar.l10n';\nimport * as style from './Calendar.module.css';\nimport { calcTooltips, fetchPrices, getVisibleDate } from './helpers';\nimport { BookingDates } from '../../../__shared__';\nimport {\n CALENDAR_FORMAT,\n getAccommodationType,\n IS_JEST,\n MONTHS_IN_MOBILE,\n parseValue,\n valueFormat,\n} from '../../../helpers';\nimport { getDataSource, getHotels } from '../../helpers';\n\nconst Calendar = ({\n currency = DEFAULT_CURRENCY,\n id,\n locale,\n pricesLegend,\n rangeMaxDays = RANGE_MAX_DAYS,\n rangeMinDays,\n showPrices,\n text,\n top = false,\n unavailability: { disabledDates = [], minStayDates = {}, minStayType } = {},\n onChange,\n onError,\n onSubmit,\n onValid,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { skeleton = false, ...store },\n } = useStore();\n\n const [focus, setFocus] = useState();\n const [prices, setPrices] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n const [visibleDate, setVisibleDate] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n setPrices();\n\n const nextValue = visibleDate || (value?.length && value[0] && parseValue(value)[0]);\n showPrices && id && getPrices((nextValue && dateCalc(nextValue, -1, 'months')) || new Date(), MONTHS);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, id, showPrices]);\n\n useEffect(() => {\n const [from, to] = value || [];\n\n if (onValid && from && to) onValid();\n else if (onError && (!from || !to)) onError(ERROR.NOT_FILLED);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n setVisibleDate();\n\n JSON.stringify(value) !== JSON.stringify(valueFormat(others.value)) && setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const getPrices = async (from, rangeMonths = 2) => {\n if (IS_JEST || !from) return;\n\n const next = await fetchPrices({ currency, from, id, locale, rangeMonths });\n setPrices((current) => {\n return { currency: next.currency, values: { ...current?.values, ...next?.values } };\n });\n };\n\n const handleChange = (next = [], event) => {\n setFocus(undefined);\n setValue(valueFormat(next));\n onChange && onChange(next, event);\n };\n\n const handleNavigation = (value) => {\n setVisibleDate(value);\n\n return showPrices && id && getPrices(value);\n };\n\n const handleScroll = ({ percentY }, months) => {\n const date = getVisibleDate(percentY, months);\n setVisibleDate(date);\n\n return showPrices && id && getPrices(date, MONTHS);\n };\n\n const handleSubmit = (event) => onSubmit(value, event);\n\n const { testId } = others;\n const [from, to] = parseValue(value);\n const props = { ...others, locale, range: true, rangeMaxDays, rangeMinDays };\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return (\n <View role=\"calendar\" className={styles(style.container, top && style.top)}>\n <CalendarBase\n {...props}\n captions={prices?.values}\n disabledDates={disabledDates}\n format={CALENDAR_FORMAT}\n l10n={{ actionLoadMore: translate(L10N.ACTION_LOAD_MORE_DATES) }}\n months={isMobile ? MONTHS_IN_MOBILE : undefined}\n scrollEventThrottle={SCROLL_EVENT_MS}\n tooltips={calcTooltips({ from, minStayDates, minStayType, rangeMinDays, to, translate })}\n value={value}\n onChange={handleChange}\n onFocus={setFocus}\n onNavigation={handleNavigation}\n onScroll={handleScroll}\n className={styles(style.calendar, others.className)}\n />\n\n {prices?.currency && (\n <Notification inline small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: 2,\n nights: 1,\n taxType: pricesLegend,\n })}\n </Notification>\n )}\n\n {onSubmit && (\n <View row className={style.footer}>\n <BookingDates {...{ from, focus, to, rangeMinDays }} />\n <Button testId={testId ? `${testId}-submit` : undefined} disabled={!from || !to} onPress={handleSubmit}>\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nCalendar.displayName = 'Mirai:Core:Finder:Calendar';\n\nCalendar.propTypes = {\n currency: PropTypes.oneOf(CURRENCIES),\n id: PropTypes.string,\n locale: PropTypes.string,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n showPrices: PropTypes.bool,\n pricesLegend: PropTypes.oneOf([TAX, TAX_FREE, TAX_PARTIAL]),\n text: PropTypes.string,\n top: PropTypes.bool,\n unavailability: PropTypes.shape({}),\n value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
@@ -27,13 +27,6 @@
27
27
  .container {
28
28
  max-height: calc(var(--mirai-modal-max-height) - var(--mirai-ui-space-XXL));
29
29
  }
30
-
31
- .calendar {
32
- flex: 1;
33
- max-height: calc(
34
- var(--mirai-modal-max-height) - calc(var(--mirai-ui-space-XXL) * 3) - var(--mirai-ui-space-XXS)
35
- ) !important;
36
- }
37
30
  }
38
31
 
39
32
  /* M & L */
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getVisibleDate = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var _helpers = require("../../../../helpers");
9
+ const getVisibleDate = function (scrollPercentage) {
10
+ let totalMonths = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _helpers.MONTHS_IN_MOBILE;
11
+ if (scrollPercentage === undefined) return;
12
+ const today = new Date();
13
+ const percentagePerItem = 100 / (totalMonths - 1);
14
+ const months = Math.floor(scrollPercentage / percentagePerItem);
15
+ return months ? (0, _locale.dateCalc)(today, months, 'months') : today;
16
+ };
17
+ exports.getVisibleDate = getVisibleDate;
18
+ //# sourceMappingURL=getVisibleDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVisibleDate.js","names":["_locale","require","_helpers","getVisibleDate","scrollPercentage","totalMonths","arguments","length","undefined","MONTHS_IN_MOBILE","today","Date","percentagePerItem","months","Math","floor","dateCalc","exports"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/getVisibleDate.js"],"sourcesContent":["import { dateCalc } from '@mirai/locale';\n\nimport { MONTHS_IN_MOBILE } from '../../../../helpers';\n\nexport const getVisibleDate = (scrollPercentage, totalMonths = MONTHS_IN_MOBILE) => {\n if (scrollPercentage === undefined) return;\n\n const today = new Date();\n const percentagePerItem = 100 / (totalMonths - 1);\n const months = Math.floor(scrollPercentage / percentagePerItem);\n\n return months ? dateCalc(today, months, 'months') : today;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,GAAG,SAAAA,CAACC,gBAAgB,EAAqC;EAAA,IAAnCC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,yBAAgB;EAC7E,IAAIL,gBAAgB,KAAKI,SAAS,EAAE;EAEpC,MAAME,KAAK,GAAG,IAAIC,IAAI,CAAC,CAAC;EACxB,MAAMC,iBAAiB,GAAG,GAAG,IAAIP,WAAW,GAAG,CAAC,CAAC;EACjD,MAAMQ,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACX,gBAAgB,GAAGQ,iBAAiB,CAAC;EAE/D,OAAOC,MAAM,GAAG,IAAAG,gBAAQ,EAACN,KAAK,EAAEG,MAAM,EAAE,QAAQ,CAAC,GAAGH,KAAK;AAC3D,CAAC;AAACO,OAAA,CAAAd,cAAA,GAAAA,cAAA"}
@@ -36,4 +36,15 @@ Object.keys(_fetchPrices).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _getVisibleDate = require("./getVisibleDate");
40
+ Object.keys(_getVisibleDate).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _getVisibleDate[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _getVisibleDate[key];
47
+ }
48
+ });
49
+ });
39
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_calcMinStay","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_calcTooltips","_fetchPrices"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/index.js"],"sourcesContent":["export * from './calcMinStay';\nexport * from './calcTooltips';\nexport * from './fetchPrices';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_calcMinStay","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_calcTooltips","_fetchPrices","_getVisibleDate"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/index.js"],"sourcesContent":["export * from './calcMinStay';\nexport * from './calcTooltips';\nexport * from './fetchPrices';\nexport * from './getVisibleDate';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
@@ -395,7 +395,7 @@ const Rates = _ref => {
395
395
  testId: testId ? "".concat(testId, "-multiroom") : undefined
396
396
  })) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, (_select = (0, _helpers.select)(dataSource.items, filters, {
397
397
  priceFactor
398
- }, variant)) === null || _select === void 0 ? void 0 : _select.map((_ref5, index) => {
398
+ })) === null || _select === void 0 ? void 0 : _select.map((_ref5, index) => {
399
399
  let {
400
400
  id,
401
401
  ...item
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items4","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","_dataSource$items3","_cart$","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","visibleRooms","chain","rooms","loyalty","twin","setTimeout","document","href","getForwarderUrl","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseLogin","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!urlParams.rates,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: dataSource.items?.length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n twin: filterBoard?.roomId === cart[0]?.roomId,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor }, variant)?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items4","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","_dataSource$items3","_cart$","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","visibleRooms","chain","rooms","loyalty","twin","setTimeout","document","href","getForwarderUrl","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseLogin","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!urlParams.rates,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: dataSource.items?.length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n twin: filterBoard?.roomId === cart[0]?.roomId,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -59,8 +59,7 @@ const Filters = _ref => {
59
59
  urlParams: {
60
60
  idoffers,
61
61
  roomTypeId
62
- } = {},
63
- variant
62
+ } = {}
64
63
  } = {}
65
64
  } = (0, _dataSources.useStore)();
66
65
  const {
@@ -262,7 +261,7 @@ const Filters = _ref => {
262
261
  };
263
262
  const filteredItems = (0, _helpers3.select)(items, form, {
264
263
  priceFactor
265
- }, variant).filter(function () {
264
+ }).filter(function () {
266
265
  let {
267
266
  availability = 0
268
267
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","currentCurrency","currentPlace","memoizeForm","timeoutRange","Filters","_ref","_ref3","clubDiscount","items","propItems","priceFactor","values","onOpen","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","variant","useStore","place","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","offer","undefined","roomType","countFilters","priceRange","strictSearch","getStrictSearch","JSON","stringify","setNextState","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_PROMOCODE","unsubscribe","nextFilters","keys","length","handleModal","next","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","SUBMIT_DELAY","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","offerName","map","rates","rateId","deals","includes","split","_ref4","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","getBookingOptions","BookingOption","key","checked","roomName","toUpperCase","onChange","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref5","text","type","Option","board","outlined","option","prices","InputRange","caption","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref6","Amenity","label","action","textOthers","LABEL_OTHERS","_ref7","Action","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getBookingOptions, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet currentPlace;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({\n clubDiscount,\n items: propItems = [],\n priceFactor = 1,\n values,\n onOpen = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n variant,\n } = {},\n } = useStore();\n\n const { place, promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange || (currentCurrency !== undefined && currentCurrency === currency)) return;\n\n currentCurrency = currency;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n onSubmit({ ...nextForm, strictSearch: getStrictSearch(nextForm) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n if (!place || (currentPlace !== undefined && JSON.stringify(currentPlace) === JSON.stringify(place))) return;\n\n if (currentPlace !== undefined) {\n setForm(DEFAULT_FORM);\n setCounter(countFilters(DEFAULT_FORM));\n onSubmit(DEFAULT_FORM);\n }\n currentPlace = place;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n useEffect(() => {\n if (!values || Object.keys(values).length === 0) return;\n\n if (JSON.stringify(values) !== JSON.stringify(form)) {\n setForm(values);\n setCounter(countFilters(values));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) {\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n onOpen();\n }\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }),\n SUBMIT_DELAY / 2,\n );\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM });\n\n (offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }, variant).filter(\n ({ availability = 0 } = {}) => availability > 0,\n );\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items?.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n const { name: offerName } =\n (has.offer &&\n items?.map(({ boards = [], rates = [] } = {}) => {\n const { rateId } = boards.find(({ deals = [] } = {}) => deals.includes(idoffers.split(',')[0])) || {};\n\n return rates.find(({ id }) => id === rateId);\n }))?.[0] || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {getBookingOptions(!!idoffers && idoffers.split(',').length === 1)\n .filter(({ field } = {}) => has[field])\n .map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, offerName, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile || filters.prices.length <= 8 ? 6 : 10}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action onPress={() => setAllAmenities(true)}>{translate(L10N.ACTION_VIEW_MORE)}</Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n values: PropTypes.shape({}),\n onOpen: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\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,QAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAP,uBAAA,CAAAN,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AACA,IAAAiB,YAAA,GAAAjB,OAAA;AAA4C,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;AAE5C,IAAIC,eAAe;AACnB,IAAIC,YAAY;AAChB,IAAIC,WAAW;AACf,IAAIC,YAAY;AAEhB,MAAMC,OAAO,GAAGC,IAAA,IAQV;EAAA,IAAAC,KAAA;EAAA,IARW;IACfC,YAAY;IACZC,KAAK,EAAEC,SAAS,GAAG,EAAE;IACrBC,WAAW,GAAG,CAAC;IACfC,MAAM;IACNC,MAAM,GAAGA,CAAA,KAAM,CAAC,CAAC;IACjBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MACLC,QAAQ;MACRC,IAAI,GAAG,CAAC,CAAC;MACTC,MAAM,GAAG,CAAC,CAAC;MACXC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,UAAU,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7BC,OAAO;MACPC,SAAS,EAAE;QAAEC,QAAQ;QAAEC;MAAW,CAAC,GAAG,CAAC,CAAC;MACxCC;IACF,CAAC,GAAG,CAAC;EACP,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGb,MAAM;EAEnC,MAAM,CAACc,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvD,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC,CAAC;EACzC,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAN,eAAQ,EAAC,IAAAO,4BAAmB,EAACpC,SAAS,EAAE;IAAEC;EAAY,CAAC,CAAC,CAAC;EACvF,MAAM,CAACoC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAT,eAAQ,EAACU,sBAAY,CAAC;EAC9C,MAAM,CAACxC,KAAK,EAAEyC,QAAQ,CAAC,GAAG,IAAAX,eAAQ,EAAC7B,SAAS,CAAC;EAC7C,MAAM,CAACyC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAb,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAc,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGnD,WAAW,IAAI;MAC9B,GAAG8C,sBAAY;MACfM,KAAK,EAAExB,QAAQ,GAAG,CAAC,CAACA,QAAQ,GAAGyB,SAAS;MACxCpB,SAAS,EAAEA,SAAS,GAAG,CAAC,CAACA,SAAS,GAAGoB,SAAS;MAC9CC,QAAQ,EAAEzB,UAAU,GAAG,CAAC,CAACA,UAAU,GAAGwB;IACxC,CAAC;IAEDR,OAAO,CAACM,QAAQ,CAAC;IACjBX,UAAU,CAAC,IAAAe,qBAAY,EAACJ,QAAQ,CAAC,CAAC;IAClC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACN,IAAI,CAACY,UAAU,IAAK1D,eAAe,KAAKuD,SAAS,IAAIvD,eAAe,KAAKoB,QAAS,EAAE;IAEzFpB,eAAe,GAAGoB,QAAQ;IAC1B,MAAMiC,QAAQ,GAAG;MAAE,GAAGP,IAAI;MAAEY,UAAU,EAAEH;IAAU,CAAC;IAEnDR,OAAO,CAACM,QAAQ,CAAC;IACjBX,UAAU,CAAC,IAAAe,qBAAY,EAACJ,QAAQ,CAAC,CAAC;IAClCxC,QAAQ,CAAC;MAAE,GAAGwC,QAAQ;MAAEM,YAAY,EAAE,IAAAC,wBAAe,EAACP,QAAQ;IAAE,CAAC,CAAC;IAClE;EACF,CAAC,EAAE,CAACjC,QAAQ,CAAC,CAAC;EAEd,IAAAgC,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClB,KAAK,IAAKjC,YAAY,KAAKsD,SAAS,IAAIM,IAAI,CAACC,SAAS,CAAC7D,YAAY,CAAC,KAAK4D,IAAI,CAACC,SAAS,CAAC5B,KAAK,CAAE,EAAE;IAEtG,IAAIjC,YAAY,KAAKsD,SAAS,EAAE;MAC9BR,OAAO,CAACC,sBAAY,CAAC;MACrBN,UAAU,CAAC,IAAAe,qBAAY,EAACT,sBAAY,CAAC,CAAC;MACtCnC,QAAQ,CAACmC,sBAAY,CAAC;IACxB;IACA/C,YAAY,GAAGiC,KAAK;IACpB;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAAkB,gBAAS,EAAC,MAAM;IACd,MAAMW,YAAY,GAAIV,QAAQ,IAAK;MACjCN,OAAO,CAACM,QAAQ,CAAC;MACjBX,UAAU,CAAC,IAAAe,qBAAY,EAACJ,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,MAAMW,gBAAgB,GAAGC,KAAA;MAAA,IAAC;QAAE9B;MAAU,CAAC,GAAA8B,KAAA;MAAA,OAAKF,YAAY,CAAC;QAAE,GAAGjB,IAAI;QAAEX;MAAU,CAAC,CAAC;IAAA;IAEhF+B,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,sBAAsB,EAAEL,gBAAgB,CAAC;IAE/D,OAAO,MAAME,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,sBAAsB,EAAEL,gBAAgB,CAAC;EAChF,CAAC,EAAE,CAAClB,IAAI,CAAC,CAAC;EAEV,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIS,IAAI,CAACC,SAAS,CAACrD,SAAS,CAAC,KAAKoD,IAAI,CAACC,SAAS,CAACtD,KAAK,CAAC,EAAEyC,QAAQ,CAACxC,SAAS,CAAC;IAE5E,MAAM8D,WAAW,GAAG,IAAA1B,4BAAmB,EAACpC,SAAS,EAAE;MAAEC;IAAY,CAAC,CAAC;IACnE,IAAImD,IAAI,CAACC,SAAS,CAACS,WAAW,CAAC,KAAKV,IAAI,CAACC,SAAS,CAACnB,OAAO,CAAC,EAAEC,UAAU,CAAC2B,WAAW,CAAC;IACpF;EACF,CAAC,EAAE,CAAC9D,SAAS,CAAC,CAAC;EAEf,IAAA2C,gBAAS,EAAC,MAAM;IACd,IAAI,CAACzC,MAAM,IAAIrB,MAAM,CAACkF,IAAI,CAAC7D,MAAM,CAAC,CAAC8D,MAAM,KAAK,CAAC,EAAE;IAEjD,IAAIZ,IAAI,CAACC,SAAS,CAACnD,MAAM,CAAC,KAAKkD,IAAI,CAACC,SAAS,CAAChB,IAAI,CAAC,EAAE;MACnDC,OAAO,CAACpC,MAAM,CAAC;MACf+B,UAAU,CAAC,IAAAe,qBAAY,EAAC9C,MAAM,CAAC,CAAC;IAClC;IACA;EACF,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAM+D,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIC,IAAI,GAAG,CAACzB,OAAO;IAEnBC,UAAU,CAACwB,IAAI,CAAC;IAChB,IAAIA,IAAI,EAAE;MACRT,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;QAAErD,EAAE,EAAE,eAAe;QAAEiB;MAAQ,CAAC,CAAC;MAC9D7B,MAAM,CAAC,CAAC;IACV;EACF,CAAC;EAED,MAAMkE,aAAa,GAAGA,CAACtD,EAAE,EAAEL,KAAK,KAAK;IACnC4B,OAAO,CAAC;MAAE,GAAGD,IAAI;MAAEiC,SAAS,EAAE5D,KAAK,GAAG,CAAC,GAAG2B,IAAI,CAACiC,SAAS,EAAEvD,EAAE,CAAC,GAAGsB,IAAI,CAACiC,SAAS,CAACC,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKzD,EAAE;IAAE,CAAC,CAAC;IAC/G0C,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,EAAE,uBAAuB;MAAE0D,OAAO,EAAE1D,EAAE;MAAEL;IAAM,CAAC,CAAC;EACnF,CAAC;EAED,MAAMgE,YAAY,GAAGA,CAACC,KAAK,EAAE5D,EAAE,KAAK;IAClCuB,OAAO,CAAC;MAAE,GAAGD,IAAI;MAAE,CAACsC,KAAK,GAAGtC,IAAI,CAACsC,KAAK,CAAC,KAAK5D,EAAE,GAAG+B,SAAS,GAAG/B;IAAG,CAAC,CAAC;IAClE0C,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,mBAAA6D,MAAA,CAAmBD,KAAK;IAAG,CAAC,CAAC;EAChE,CAAC;EAED,MAAME,WAAW,GAAGA,CAACF,KAAK,EAAEjE,KAAK,KAAK;IACpC4B,OAAO,CAAC;MAAE,GAAGD,IAAI;MAAE,CAACsC,KAAK,GAAGjE;IAAM,CAAC,CAAC;IAEpCoE,YAAY,CAACpF,YAAY,CAAC;IAC1BA,YAAY,GAAGqF,UAAU,CACvB,MAAMtB,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,mBAAA6D,MAAA,CAAmBD,KAAK,CAAE;MAAEjE;IAAM,CAAC,CAAC,EAC3EsE,sBAAY,GAAG,CACjB,CAAC;EACH,CAAC;EAED,MAAMC,mBAAmB,GAAG,MAAAA,CAAON,KAAK,EAAEjE,KAAK,KAAK;IAClD,MAAMwD,IAAI,GAAG;MAAE,GAAG7B,IAAI;MAAE,CAACsC,KAAK,GAAGjE;IAAM,CAAC;IACxC4B,OAAO,CAAC4B,IAAI,CAAC;IAEbT,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,mBAAA6D,MAAA,CAAmBD,KAAK,CAAE;MAAEjE;IAAM,CAAC,CAAC;IACrE,IAAIiE,KAAK,KAAK,kBAAkB,EAAE,MAAMO,KAAK,CAAChB,IAAI,CAAC;EACrD,CAAC;EAED,MAAMiB,cAAc,GAAGA,CAAA,KAAM;IAC3B,MAAM;MAAEtC,KAAK;MAAEnB,SAAS;MAAEqB;IAAS,CAAC,GAAGV,IAAI,IAAI,CAAC,CAAC;IACjDT,eAAe,CAAC,KAAK,CAAC;IACtBU,OAAO,CAAC;MAAE,GAAGC;IAAa,CAAC,CAAC;IAE5B,CAACM,KAAK,IAAInB,SAAS,IAAIqB,QAAQ,KAAKmC,KAAK,CAAC3C,sBAAY,CAAC;IACvDkB,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,EAAE;IAA0B,CAAC,CAAC;EACjE,CAAC;EAED,MAAMqE,YAAY,GAAGA,CAAA,KAAM;IACzB3F,WAAW,GAAG4C,IAAI;IAClBK,UAAU,CAAC,KAAK,CAAC;IACjB,MAAM2C,WAAW,GAAG,IAAArC,qBAAY,EAACX,IAAI,CAAC;IACtCJ,UAAU,CAACoD,WAAW,CAAC;IACvBjF,QAAQ,CAAC;MAAE,GAAGiC,IAAI;MAAEa,YAAY,EAAE,IAAAC,wBAAe,EAACd,IAAI;IAAE,CAAC,CAAC;IAC1DoB,kBAAK,CAACU,OAAO,CAACR,eAAK,CAACS,OAAO,EAAE;MAAErD,EAAE,EAAE,sBAAsB;MAAEiB,OAAO,EAAEqD;IAAY,CAAC,CAAC;EACpF,CAAC;EAED,MAAMH,KAAK,GAAG,MAAOhB,IAAI,IAAK;IAC5BnC,OAAO,CAAC,IAAI,CAAC;IAEb,MAAMmB,YAAY,GAAG,IAAAC,wBAAe,EAACe,IAAI,CAAC;IAC1C,MAAMoB,IAAI,GAAG,EAAE,CAAC,CAAC;IACjB,MAAMC,MAAM,GAAG;MAAED,IAAI;MAAE1E,IAAI;MAAEd,YAAY;MAAEe,MAAM;MAAEC,KAAK;MAAEC,EAAE;MAAEC,MAAM;MAAEE,QAAQ;MAAEC,OAAO;MAAE+B;IAAa,CAAC;IACvG,MAAM;MAAEnD,KAAK,EAAEyF;IAAU,CAAC,GAAG,CAAC,MAAM,IAAAC,oBAAU,EAACF,MAAM,CAAC,CAACG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7ElD,QAAQ,CAACgD,SAAS,CAAC;IACnB,IAAIA,SAAS,EAAErD,UAAU,CAAC,IAAAC,4BAAmB,EAACoD,SAAS,EAAE;MAAEvF;IAAY,CAAC,CAAC,CAAC;IAE1E8B,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC;EAED,MAAMvD,GAAG,GAAG;IACVmH,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAACzD,OAAO,CAACyD,gBAAgB;IAAE;IACtD9C,KAAK,EAAE,CAAC,CAACxB,QAAQ;IACjBK,SAAS,EAAE,CAAC,CAACA,SAAS;IACtBqB,QAAQ,EAAE,CAAC,CAACzB;EACd,CAAC;EAED,MAAMsE,aAAa,GAAG,IAAAC,gBAAM,EAAC9F,KAAK,EAAEsC,IAAI,EAAE;IAAEpC;EAAY,CAAC,EAAEsB,OAAO,CAAC,CAACgD,MAAM,CACxE;IAAA,IAAC;MAAEuB,YAAY,GAAG;IAAE,CAAC,GAAAC,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKD,YAAY,GAAG,CAAC;EAAA,CACjD,CAAC;EACD,MAAM;IAAE9B,MAAM,EAAEgC;EAAa,CAAC,GAAG9D,OAAO,CAAC+D,MAAM;EAC/C,MAAMC,YAAY,GAAG,CAAC5F,QAAQ,IAAKA,QAAQ,IAAI0F,YAAY,IAAIG,oBAAU,GAAG,CAAE;EAC9E,MAAM;IAAEC,IAAI,EAAEC;EAAa,CAAC,GAAG,CAAAtG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuG,IAAI,CAAC;IAAA,IAAC;MAAEvF;IAAG,CAAC,GAAAgF,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKhF,EAAE,KAAKwF,QAAQ,CAACjF,UAAU,CAAC;EAAA,EAAC,KAAI,CAAC,CAAC;EAC9F,MAAM;IAAE8E,IAAI,EAAEI;EAAU,CAAC,GACvB,EAAA3G,KAAA,GAACrB,GAAG,CAACqE,KAAK,KACR9C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0G,GAAG,CAAC,YAAsC;IAAA,IAArC;MAAER,MAAM,GAAG,EAAE;MAAES,KAAK,GAAG;IAAG,CAAC,GAAAX,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;IAC1C,MAAM;MAAEY;IAAO,CAAC,GAAGV,MAAM,CAACK,IAAI,CAAC;MAAA,IAAC;QAAEM,KAAK,GAAG;MAAG,CAAC,GAAAb,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKa,KAAK,CAACC,QAAQ,CAACxF,QAAQ,CAACyF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,EAAC,IAAI,CAAC,CAAC;IAErG,OAAOJ,KAAK,CAACJ,IAAI,CAACS,KAAA;MAAA,IAAC;QAAEhG;MAAG,CAAC,GAAAgG,KAAA;MAAA,OAAKhG,EAAE,KAAK4F,MAAM;IAAA,EAAC;EAC9C,CAAC,CAAC,eAAA9G,KAAA,uBALJA,KAAA,CAKQ,CAAC,CAAC,KAAI,CAAC,CAAC;EAElB,oBACEzC,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAA5J,MAAA,CAAAmB,OAAA,CAAA0I,QAAA,qBACE7J,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACvJ,SAAA,CAAAyJ,MAAa;IAAOlF,OAAO;IAAImF,OAAO,EAAElD;EAAY,CAAE,CAAC,eAExD7G,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmK,KAAK;IACJC,GAAG;IACHC,MAAM;IACNC,KAAK,EAAE/G,SAAS,CAACgH,cAAI,CAACC,aAAa,CAAE;IACrChF,OAAO,EAAEA,OAAQ;IACjBiF,OAAO,EAAEzD,WAAY;IACrB0D,SAAS,EAAE,CAAC/J,KAAK,CAACgK,KAAK,EAAEvH,MAAM,CAACsH,SAAS;EAAE,gBAE3CvK,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAA4K,UAAU;IAACC,eAAe;IAACC,QAAQ,EAAEtF,OAAO,GAAG,GAAG,GAAGK,SAAU;IAACkF,IAAI,EAAE,KAAM;IAACL,SAAS,EAAE/J,KAAK,CAACqK;EAAW,gBACxG7K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACP,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,gBAC7B/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmL,IAAI;IAACC,IAAI;IAACC,QAAQ;EAAA,GAChB9H,SAAS,CAACgH,cAAI,CAACe,qBAAqB,CACjC,CAAC,EAEN,IAAAC,0BAAiB,EAAC,CAAC,CAACnH,QAAQ,IAAIA,QAAQ,CAACyF,KAAK,CAAC,GAAG,CAAC,CAAC9C,MAAM,KAAK,CAAC,CAAC,CAC/DO,MAAM,CAAC;IAAA,IAAC;MAAEI;IAAM,CAAC,GAAAoB,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKvH,GAAG,CAACmG,KAAK,CAAC;EAAA,EAAC,CACtC8B,GAAG,CAAC;IAAA,IAAC;MAAE9B,KAAK;MAAE4C;IAAM,CAAC,GAAAxB,SAAA,CAAA/B,MAAA,QAAA+B,SAAA,QAAAjD,SAAA,GAAAiD,SAAA,MAAG,CAAC,CAAC;IAAA,oBACzB3I,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACxJ,SAAA,CAAAiL,aAAa;MACZC,GAAG,EAAE/D,KAAM;MACXgE,OAAO,EAAEtG,IAAI,CAACsC,KAAK,CAAE;MACfA,KAAK;MAAE4C,KAAK;MAAEf,SAAS;MAAEoC,QAAQ,EAAEvC,YAAY;MAAE3E,SAAS,EAAEA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEmH,WAAW,CAAC,CAAC;MAC1FC,QAAQ,EAAE7D;IAAoB,CAC/B,CAAC;EAAA,CACH,CACC,CAAC,EAENe,YAAY,GAAG,CAAC,iBACf5I,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACP,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,gBAC7B/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmL,IAAI;IAACC,IAAI;IAACC,QAAQ;EAAA,GAChB9H,SAAS,CAACgH,cAAI,CAACuB,wBAAwB,CACpC,CAAC,eAEP3L,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACc,GAAG,EAAE9C,YAAa;IAACyB,SAAS,EAAE,IAAAsB,UAAM,EAACrL,KAAK,CAACqI,MAAM,EAAEC,YAAY,IAAItI,KAAK,CAACsL,MAAM;EAAE,GACpFhH,OAAO,CAAC+D,MAAM,CAACQ,GAAG,CAAC0C,KAAA;IAAA,IAAC;MAAEpI,EAAE;MAAEqI,IAAI;MAAEC;IAAK,CAAC,GAAAF,KAAA;IAAA,oBACrC/L,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAChJ,YAAA,CAAAsL,MAAM;MACLX,OAAO,EAAEtG,IAAI,CAACkH,KAAK,KAAKF,IAAK;MAC7BX,GAAG,WAAA9D,MAAA,CAAW7D,EAAE,CAAG;MACnBmI,MAAM,EAAEhD,YAAa;MACrBsD,QAAQ;MACRjC,KAAK,EAAE6B,IAAK;MACZjC,OAAO,EAAEA,CAAA,KAAMzC,YAAY,CAAC,OAAO,EAAE2E,IAAI,CAAE;MAC3C1B,SAAS,EAAE/J,KAAK,CAAC6L;IAAO,CACzB,CAAC;EAAA,CACH,CACG,CACF,CACP,EAEAvH,OAAO,CAACwH,MAAM,CAAC1F,MAAM,GAAG,CAAC,iBACxB5G,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC1J,WAAA,CAAAqM,UAAU;IACTC,OAAO,EAAEpJ,SAAS,CAACP,WAAW,KAAK,CAAC,GAAGuH,cAAI,CAACqC,qBAAqB,GAAGrC,cAAI,CAACsC,oBAAoB,CAAE;IAC/FC,UAAU,EAAE7H,OAAO,CAACwH,MAAO;IAC3BM,UAAU,EAAE1J,QAAQ,IAAI4B,OAAO,CAACwH,MAAM,CAAC1F,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAG;IAC5DuD,KAAK,EAAE/G,SAAS,CAACgH,cAAI,CAACyC,iBAAiB,CAAE;IACzCC,IAAI,EAAE,IAAAC,sBAAc,EAACxJ,QAAQ,EAAE;MAAEK;IAAO,CAAC,CAAE;IAC3CN,KAAK,EAAE2B,IAAI,CAACY,UAAW;IACvB6F,QAAQ,EAAGpI,KAAK,IAAKmE,WAAW,CAAC,YAAY,EAAEnE,KAAK,CAAE;IACtDiH,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,CAC1B,CACF,eAED/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACP,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,gBAC7B/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmL,IAAI;IAACC,IAAI;IAACC,QAAQ;IAAC8B,IAAI;EAAA,GACrB5J,SAAS,CAACgH,cAAI,CAAC6C,eAAe,CAC3B,CAAC,eAEPjN,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI,qBACH9K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACc,GAAG;IAACrB,SAAS,EAAE/J,KAAK,CAAC0G;EAAU,GAClCpC,OAAO,CAACoC,SAAS,CACfC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC8F,SAAS,CAAC,CAChC7D,GAAG,CAAC8D,KAAA;IAAA,IAAC;MAAExJ,EAAE;MAAEqI;IAAK,CAAC,GAAAmB,KAAA;IAAA,oBAChBnN,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACzJ,QAAA,CAAAiN,OAAO;MACN7B,OAAO,EAAEtG,IAAI,CAACiC,SAAS,CAACuC,QAAQ,CAAC9F,EAAE,CAAE;MACrCA,EAAE,EAAEA,EAAG;MACP2H,GAAG,EAAE3H,EAAG;MACR0J,KAAK,EAAErB,IAAK;MACZN,QAAQ,EAAEzE;IAAc,CACzB,CAAC;EAAA,CACH,CACC,CAAC,EAEN1C,YAAY,gBACXvE,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAA5J,MAAA,CAAAmB,OAAA,CAAA0I,QAAA,qBACE7J,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmL,IAAI;IAACsC,MAAM;IAACrC,IAAI;IAAC+B,IAAI;IAACzC,SAAS,EAAE/J,KAAK,CAAC+M;EAAW,GAChDnK,SAAS,CAACgH,cAAI,CAACoD,YAAY,CACxB,CAAC,eAEPxN,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACc,GAAG;IAACrB,SAAS,EAAE/J,KAAK,CAAC0G;EAAU,GAClCpC,OAAO,CAACoC,SAAS,CACfC,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAAC8F,SAAS,CAAC,CACjC7D,GAAG,CAACoE,KAAA;IAAA,IAAC;MAAE9J,EAAE;MAAEqI;IAAK,CAAC,GAAAyB,KAAA;IAAA,oBAChBzN,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACzJ,QAAA,CAAAiN,OAAO;MACN7B,OAAO,EAAEtG,IAAI,CAACiC,SAAS,CAACuC,QAAQ,CAAC9F,EAAE,CAAE;MACrCA,EAAE,EAAEA,EAAG;MACP2H,GAAG,EAAE3H,EAAG;MACR0J,KAAK,EAAErB,IAAK;MACZN,QAAQ,EAAEzE;IAAc,CACzB,CAAC;EAAA,CACH,CACC,CACN,CAAC,gBAEHjH,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAA6N,MAAM;IAAC3D,OAAO,EAAEA,CAAA,KAAMvF,eAAe,CAAC,IAAI;EAAE,GAAEpB,SAAS,CAACgH,cAAI,CAACuD,gBAAgB,CAAU,CAEtF,CACF,CAAC,EAEN7I,OAAO,CAAC8I,QAAQ,CAAChH,MAAM,GAAG,CAAC,iBAC1B5G,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACP,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,gBAC7B/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAmL,IAAI;IAACC,IAAI;IAACC,QAAQ;IAAC8B,IAAI;EAAA,GACrB5J,SAAS,CAACgH,cAAI,CAACyD,cAAc,CAC1B,CAAC,eAEP7N,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACc,GAAG;EAAA,GACN9G,OAAO,CAAC8I,QAAQ,CAACvE,GAAG,CAAEyE,OAAO,iBAC5B9N,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAChJ,YAAA,CAAAsL,MAAM;IACLZ,GAAG,aAAA9D,MAAA,CAAasG,OAAO,CAAG;IAC1BvC,OAAO,EAAEtG,IAAI,CAAC6I,OAAO,KAAKA,OAAQ;IAClCC,IAAI,EAAED,OAAO,KAAK,CAAC,GAAGE,cAAI,CAACC,UAAU,GAAGD,cAAI,CAACE,UAAW;IACxDpC,MAAM;IACNM,QAAQ;IACRjC,KAAK,EAAE/G,SAAS,CAAC0K,OAAO,KAAK,CAAC,GAAG1D,cAAI,CAAC+D,qBAAqB,GAAG/D,cAAI,CAACgE,qBAAqB,CAAE;IAC1FrE,OAAO,EAAEA,CAAA,KAAMzC,YAAY,CAAC,SAAS,EAAEwG,OAAO,CAAE;IAChDvD,SAAS,EAAE/J,KAAK,CAAC6L;EAAO,CACzB,CACF,CACG,CACF,CACP,EAEAvH,OAAO,CAACuJ,KAAK,CAACzH,MAAM,GAAG,CAAC,iBACvB5G,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC1J,WAAA,CAAAqM,UAAU;IACTI,UAAU,EAAE7H,OAAO,CAACuJ,KAAM;IAC1BzB,UAAU,EAAE1J,QAAQ,GAAG,CAAC,GAAG,CAAE;IAC7BiH,KAAK,EAAE/G,SAAS,CAACgH,cAAI,CAACkE,eAAe,CAAE;IACvCxB,IAAI,EAAEhI,OAAO,CAACyJ,QAAS;IACvBjL,KAAK,EAAE2B,IAAI,CAACuJ,SAAU;IACtB9C,QAAQ,EAAGpI,KAAK,IAAKmE,WAAW,CAAC,WAAW,EAAEnE,KAAK,CAAE;IACrDiH,SAAS,EAAE/J,KAAK,CAACuK;EAAQ,CAC1B,CAEO,CAAC,eAEb/K,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiL,IAAI;IAACc,GAAG;IAACrB,SAAS,EAAE,CAAC/J,KAAK,CAACiO,MAAM,EAAEjO,KAAK,CAACkO,YAAY;EAAE,gBACtD1O,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiK,MAAM;IAAC6E,WAAW;IAAC5E,OAAO,EAAEhC;EAAe,GACzC3E,SAAS,CAACgH,cAAI,CAACwE,gBAAgB,CAC1B,CAAC,eACT5O,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAAC/J,GAAA,CAAAiK,MAAM;IAACpF,IAAI,EAAEA,IAAK;IAACmK,QAAQ,EAAE,CAACrG,aAAa,CAAC5B,MAAO;IAACmD,OAAO,EAAE/B;EAAa,GACxE5E,SAAS,CAACoF,aAAa,CAAC5B,MAAM,GAAGwD,cAAI,CAAC0E,wBAAwB,GAAG1E,cAAI,CAAC2E,sBAAsB,EAAE;IAC7FC,KAAK,EAAExG,aAAa,CAAC5B;EACvB,CAAC,CACK,CACJ,CACD,CACP,CAAC;AAEP,CAAC;AAACqI,OAAA,CAAA1M,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAAC2M,WAAW,GAAG,0BAA0B;AAEhD3M,OAAO,CAAC4M,SAAS,GAAG;EAClBzM,YAAY,EAAE0M,kBAAS,CAACC,IAAI;EAC5B1M,KAAK,EAAEyM,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7C1M,WAAW,EAAEuM,kBAAS,CAACI,MAAM;EAC7B1M,MAAM,EAAEsM,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3BxM,MAAM,EAAEqM,kBAAS,CAACK,IAAI;EACtBzM,QAAQ,EAAEoM,kBAAS,CAACK;AACtB,CAAC"}
1
+ {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","currentCurrency","currentPlace","memoizeForm","timeoutRange","Filters","_ref","_ref3","clubDiscount","items","propItems","priceFactor","values","onOpen","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","place","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","offer","undefined","roomType","countFilters","priceRange","strictSearch","getStrictSearch","JSON","stringify","setNextState","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_PROMOCODE","unsubscribe","nextFilters","keys","length","handleModal","next","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","SUBMIT_DELAY","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","offerName","map","rates","rateId","deals","includes","split","_ref4","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","getBookingOptions","BookingOption","key","checked","roomName","toUpperCase","onChange","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref5","text","type","Option","board","outlined","option","prices","InputRange","caption","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref6","Amenity","label","action","textOthers","LABEL_OTHERS","_ref7","Action","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getBookingOptions, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet currentPlace;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({\n clubDiscount,\n items: propItems = [],\n priceFactor = 1,\n values,\n onOpen = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { place, promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange || (currentCurrency !== undefined && currentCurrency === currency)) return;\n\n currentCurrency = currency;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n onSubmit({ ...nextForm, strictSearch: getStrictSearch(nextForm) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n if (!place || (currentPlace !== undefined && JSON.stringify(currentPlace) === JSON.stringify(place))) return;\n\n if (currentPlace !== undefined) {\n setForm(DEFAULT_FORM);\n setCounter(countFilters(DEFAULT_FORM));\n onSubmit(DEFAULT_FORM);\n }\n currentPlace = place;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n useEffect(() => {\n if (!values || Object.keys(values).length === 0) return;\n\n if (JSON.stringify(values) !== JSON.stringify(form)) {\n setForm(values);\n setCounter(countFilters(values));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) {\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n onOpen();\n }\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }),\n SUBMIT_DELAY / 2,\n );\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM });\n\n (offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items?.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n const { name: offerName } =\n (has.offer &&\n items?.map(({ boards = [], rates = [] } = {}) => {\n const { rateId } = boards.find(({ deals = [] } = {}) => deals.includes(idoffers.split(',')[0])) || {};\n\n return rates.find(({ id }) => id === rateId);\n }))?.[0] || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {getBookingOptions(!!idoffers && idoffers.split(',').length === 1)\n .filter(({ field } = {}) => has[field])\n .map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, offerName, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile || filters.prices.length <= 8 ? 6 : 10}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action onPress={() => setAllAmenities(true)}>{translate(L10N.ACTION_VIEW_MORE)}</Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n values: PropTypes.shape({}),\n onOpen: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -49,8 +49,7 @@ const ModalTwin = _ref => {
49
49
  } = {}
50
50
  } = {},
51
51
  hotel = {},
52
- language,
53
- variant
52
+ language
54
53
  } = {}
55
54
  } = (0, _dataSources.useStore)();
56
55
  const iframeRef = (0, _react.useRef)();
@@ -220,7 +219,7 @@ const ModalTwin = _ref => {
220
219
  } = dataSource || {};
221
220
  const filteredItems = ((_select = (0, _helpers4.select)(items, filters, {
222
221
  priceFactor
223
- }, variant)) === null || _select === void 0 ? void 0 : _select.map(item => (0, _helpers4.filterItem)(item, filters, priceFactor))) || [];
222
+ })) === null || _select === void 0 ? void 0 : _select.map(item => (0, _helpers4.filterItem)(item, filters, priceFactor))) || [];
224
223
  const selectedIndex = selectedId ? filteredItems.findIndex(function () {
225
224
  let {
226
225
  id
@@ -233,8 +232,7 @@ const ModalTwin = _ref => {
233
232
  hotelId,
234
233
  isHotel,
235
234
  items,
236
- language,
237
- variant
235
+ language
238
236
  }),
239
237
  // eslint-disable-next-line react-hooks/exhaustive-deps
240
238
  [hotel, hotelId, isHotel, language]);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_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","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","value","finder","place","id","hotelId","isHotel","hotel","language","variant","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","isLoaded","roomId","origin","process","env","TWIN_URL","console","log","debounceSelectId","setTimeout","_itemsRef$current$sel","current","offsetTop","window","addEventListener","removeEventListener","METRICS","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","fromMap","contentWindow","postMessage","handleClose","metrics","_iframeRef$current2","_iframeRef$current2$c","keys","rooms","filter","soldOut","map","soldOutRooms","handleOpenFilter","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","Number","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onOpen","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useMemo } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const {\n value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel = {}, language, variant } = {},\n } = useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n const { data: { isLoaded, roomId } = {}, origin } = event;\n if (origin !== process.env.TWIN_URL) return;\n\n // eslint-disable-next-line no-console\n console.log('Mensaje recibido:', event);\n\n debounceSelectId(roomId);\n\n if (isLoaded) setLoaded(true);\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:LOADED' });\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: false });\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = (metrics = true) => {\n metrics && Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleOpenFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:OPEN_FILTER' });\n };\n\n const handleSelect = (id) => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SELECT' });\n\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SUBMIT_FILTER' });\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: true });\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor }, variant)?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language, variant }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters\n {...dataSource}\n {...{ values: filters, priceFactor, ...others }}\n onOpen={handleOpenFilter}\n onSubmit={handleSubmitFilter}\n />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\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;AAGA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AAAqC,SAAAgB,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,SAAAX,wBAAAW,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,SAAArB,uBAAAiC,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;AAErC,MAAMK,SAAS,GAAGC,IAAA,IASZ;EAAA,IAAAC,OAAA;EAAA,IATa;IACjBC,UAAU;IACVC,OAAO;IACPC,WAAW;IACXC,QAAQ;IACRC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE;UAAEC;QAAQ,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAG,CAAC;EAC5G,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAAC,CAAC;EAC1B,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,EAAE,CAAC;EAE3B,MAAM,CAACE,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACtC,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAE9C,IAAAO,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGC,KAAA,IAAqB;MAAA,IAApB;QAAEC;MAAY,CAAC,GAAAD,KAAA;MAC/B,IAAIC,WAAW,KAAKxC,SAAS,CAACwC,WAAW,EAAE;QACzClC,QAAQ,IAAImC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;UAAEJ,WAAW,EAAExC,SAAS,CAACwC,WAAW;UAAEK,OAAO,EAAE;QAAK,CAAC,CAAC;MACvG;IACF,CAAC;IAEDJ,kBAAK,CAACK,SAAS,CAACH,eAAK,CAACC,aAAa,EAAEN,QAAQ,CAAC;IAC9C,OAAO,MAAMG,kBAAK,CAACM,WAAW,CAACJ,eAAK,CAACC,aAAa,EAAEN,QAAQ,CAAC;EAC/D,CAAC,EAAE,CAAChC,QAAQ,CAAC,CAAC;EAEd,IAAA+B,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAG,SAAAA,CAAA,EAAgB;MAAA,IAAfU,KAAK,GAAArD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;MAC1B,MAAM;QAAEuD,IAAI,EAAE;UAAEC,QAAQ;UAAEC;QAAO,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAO,CAAC,GAAGL,KAAK;MACzD,IAAIK,MAAM,KAAKC,OAAO,CAACC,GAAG,CAACC,QAAQ,EAAE;;MAErC;MACAC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEV,KAAK,CAAC;MAEvCW,gBAAgB,CAACP,MAAM,CAAC;MAExB,IAAID,QAAQ,EAAEnB,SAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,CAACnB,QAAQ,IAAIsB,UAAU,EAAEyB,UAAU,CAAC;MAAA,IAAAC,qBAAA;MAAA,OAAM3B,WAAW,CAAC,EAAA2B,qBAAA,GAAAlC,QAAQ,CAACmC,OAAO,CAAC3B,UAAU,CAAC,cAAA0B,qBAAA,uBAA5BA,qBAAA,CAA8BE,SAAS,IAAG,EAAE,CAAC;IAAA,GAAE,GAAG,CAAC;IAE7GC,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE3B,QAAQ,CAAC;IAE5C,OAAO,MAAM0B,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAE5B,QAAQ,CAAC;IAC5D;EACF,CAAC,EAAE,CAACH,UAAU,CAAC,CAAC;EAEhB,IAAAE,gBAAS,EAAC,MAAM;IACdR,WAAW,CAAC,CAAC;IACb;EACF,CAAC,EAAE,CAAC1B,UAAU,EAAEG,QAAQ,CAAC,CAAC;EAE1B,IAAA+B,gBAAS,EAAC,MAAM;IACd,IAAI,CAACN,MAAM,EAAE;IAEbU,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA+B,CAAC,CAAC;IAEpE0C,UAAU,CAAC,MAAM;MACfQ,aAAa,CAAC,CAAC;MAEf,MAAMC,aAAa,GAAGC,aAAa,CAACC,SAAS,CAAC;QAAA,IAAC;UAAErD;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE,KAAKZ,QAAQ;MAAA,EAAC;MAC/EkE,YAAY,CAACH,aAAa,KAAK,CAAC,CAAC,GAAGA,aAAa,GAAG,CAAC,CAAC;IACxD,CAAC,EAAE,IAAI,CAAC;IACR;EACF,CAAC,EAAE,CAACtC,MAAM,CAAC,CAAC;EAEZ,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC+B,aAAa,CAAC,CAAC,EAAE;IAEtB,MAAMC,aAAa,GAAGC,aAAa,CAACC,SAAS,CAAC;MAAA,IAAC;QAAErD;MAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKuB,EAAE,KAAKiB,UAAU;IAAA,EAAC;IACjF,IAAIkC,aAAa,KAAK,CAAC,CAAC,EAAEG,YAAY,CAAC,CAAC,CAAC;IACzC;EACF,CAAC,EAAE,CAACpE,OAAO,CAAC,CAAC;EAEb,MAAMoE,YAAY,GAAIC,KAAK,IAAK;IAC9B,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,KAAKJ,aAAa,IAAII,KAAK,IAAIH,aAAa,CAAC1E,MAAM,EAAE;IAE3E,MAAM;MAAEsB;IAAG,CAAC,GAAGoD,aAAa,CAACG,KAAK,CAAC;IACnC,IAAIvD,EAAE,KAAKiB,UAAU,EAAE;MAAA,IAAAuC,kBAAA,EAAAC,qBAAA;MACrBlC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;QAAEjD,EAAE,EAAE,mCAAmC;QAAE0D,OAAO,EAAE;MAAM,CAAC,CAAC;MACzFxC,aAAa,CAAClB,EAAE,CAAC;MACjBO,SAAS,aAATA,SAAS,wBAAAiD,kBAAA,GAATjD,SAAS,CAAEqC,OAAO,cAAAY,kBAAA,wBAAAC,qBAAA,GAAlBD,kBAAA,CAAoBG,aAAa,cAAAF,qBAAA,uBAAjCA,qBAAA,CAAmCG,WAAW,CAAC;QAAE1B,MAAM,EAAElC;MAAG,CAAC,EAAEoC,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;IACtF;EACF,CAAC;EAED,MAAMuB,WAAW,GAAG,SAAAA,CAAA,EAAoB;IAAA,IAAnBC,OAAO,GAAArF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,IAAI;IACjCqF,OAAO,IAAIvC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA8B,CAAC,CAAC;IAE9EkB,aAAa,CAAC,CAAC;IACfJ,SAAS,CAAC,CAAC;IACXH,WAAW,CAAC,CAAC;IACbK,WAAW,CAAC,CAAC;IACb3B,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM6D,aAAa,GAAGA,CAAA,KAAM;IAAA,IAAAa,mBAAA,EAAAC,qBAAA;IAC1B,IAAI,CAAC9E,OAAO,IAAIvB,MAAM,CAACsG,IAAI,CAAC/E,OAAO,CAAC,CAACR,MAAM,KAAK,CAAC,EAAE;IAEnD6B,SAAS,aAATA,SAAS,wBAAAwD,mBAAA,GAATxD,SAAS,CAAEqC,OAAO,cAAAmB,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAoBJ,aAAa,cAAAK,qBAAA,uBAAjCA,qBAAA,CAAmCJ,WAAW,CAC5C;MACEM,KAAK,EAAEd,aAAa,CAACe,MAAM,CAAC;QAAA,IAAC;UAAEC;QAAQ,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAAC2F,OAAO;MAAA,EAAC,CAACC,GAAG,CAAC;QAAA,IAAC;UAAErE;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE;MAAA,EAAC;MACpFsE,YAAY,EAAElB,aAAa,CAACe,MAAM,CAAC;QAAA,IAAC;UAAEC;QAAQ,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK2F,OAAO;MAAA,EAAC,CAACC,GAAG,CAAC;QAAA,IAAC;UAAErE;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE;MAAA;IAC3F,CAAC,EACDoC,OAAO,CAACC,GAAG,CAACC,QACd,CAAC;EACH,CAAC;EAED,MAAMiC,gBAAgB,GAAGA,CAAA,KAAM;IAC7BhD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAAoC,CAAC,CAAC;EAC3E,CAAC;EAED,MAAMwE,YAAY,GAAIxE,EAAE,IAAK;IAAA,IAAAyE,mBAAA;IAC3BlD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA+B,CAAC,CAAC;IAEpET,QAAQ,EAAAkF,mBAAA,GAACrB,aAAa,CAACsB,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC3E,EAAE,KAAKA,EAAE,CAAC,cAAAyE,mBAAA,uBAA5CA,mBAAA,CAA8CG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjEf,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMgB,kBAAkB,GAAGA,CAAA,KAAM;IAC/BtD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAAsC,CAAC,CAAC;IAC3EV,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,MAAMmD,gBAAgB,GAAG,IAAAqC,kBAAQ,EAAE5C,MAAM,IAAK;IAC5C,IAAIA,MAAM,IAAI6C,MAAM,CAAC7C,MAAM,CAAC,KAAKjB,UAAU,EAAE;MAC3CM,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;QAAEjD,EAAE,EAAE,mCAAmC;QAAE0D,OAAO,EAAE;MAAK,CAAC,CAAC;MACxFxC,aAAa,CAAC6D,MAAM,CAAC7C,MAAM,CAAC,CAAC;IAC/B;EACF,CAAC,CAAC;EAEF,MAAM;IAAE8C,KAAK,GAAG;EAAG,CAAC,GAAG/F,UAAU,IAAI,CAAC,CAAC;EACvC,MAAMmE,aAAa,GACjB,EAAApE,OAAA,OAAAiG,gBAAM,EAACD,KAAK,EAAE9F,OAAO,EAAE;IAAEC;EAAY,CAAC,EAAEkB,OAAO,CAAC,cAAArB,OAAA,uBAAhDA,OAAA,CAAkDqF,GAAG,CAAEM,IAAI,IAAK,IAAAO,oBAAU,EAACP,IAAI,EAAEzF,OAAO,EAAEC,WAAW,CAAC,CAAC,KAAI,EAAE;EAC/G,MAAMgE,aAAa,GAAGlC,UAAU,GAAGmC,aAAa,CAACC,SAAS,CAAC;IAAA,IAAC;MAAErD;IAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKuB,EAAE,KAAKiB,UAAU;EAAA,EAAC,GAAGc,SAAS;EAC1G,MAAMoD,GAAG,GAAG,IAAAC,cAAO,EACjB,MAAM,IAAAC,eAAM,EAAC;IAAEjC,aAAa;IAAEjD,KAAK;IAAEF,OAAO;IAAEC,OAAO;IAAE8E,KAAK;IAAE5E,QAAQ;IAAEC;EAAQ,CAAC,CAAC;EAClF;EACA,CAACF,KAAK,EAAEF,OAAO,EAAEC,OAAO,EAAEE,QAAQ,CACpC,CAAC;EAED,oBACEhE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAsJ,KAAK,EAAAlH,QAAA,KACAmB,MAAM;IACV8B,WAAW,EAAExC,SAAS,CAACwC,WAAY;IACnCkE,GAAG;IACHC,cAAc,EAAE,KAAM;IACtBC,KAAK,EAAEjG,SAAS,CAACkG,eAAI,CAACC,uBAAuB,CAAE;IAC/CjE,OAAO,EAAE,CAAC,CAACvC,QAAS;IACpBC,OAAO,EAAEwE,WAAY;IACrBgC,UAAU,EAAEhC,WAAY;IACxBiC,SAAS,EAAErJ,KAAK,CAACsJ;EAAM,iBAEtBC,cAAK,CAACV,aAAa,CAClB3F,QAAQ,GAAGqG,cAAK,CAACC,QAAQ,GAAGC,QAAI,EAChC,CAACvG,QAAQ,GAAG;IAAEmG,SAAS,EAAErJ,KAAK,CAAC0J,SAAS;IAAEC,GAAG,EAAE;EAAK,CAAC,GAAGrE,SAAS,eACjE3F,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAAlJ,MAAA,CAAAiB,OAAA,CAAA4I,QAAA,QACG,CAACtG,QAAQ,KACPkB,MAAM,gBACLzE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACJ,SAAS,EAAErJ,KAAK,CAAC4J;EAAM,gBAC3BjK,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAqK,UAAU;IACTC,UAAU,EAAE,KAAM;IAClBC,eAAe;IACfzF,QAAQ,EAAEA,QAAS;IACnB0F,IAAI,EAAE,KAAM;IACZX,SAAS,EAAErJ,KAAK,CAACiK;EAAW,GAE3BtD,aAAa,CAACiB,GAAG,CAAC;IAAA,IAACM,IAAI,GAAAlG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE8E,KAAK,GAAA9E,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsD,SAAA;IAAA,oBAClC3F,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;MAACtH,GAAG,EAAE+F,IAAI,CAAC3E,EAAG;MAAC2G,GAAG,EAAGC,EAAE,IAAMnG,QAAQ,CAACmC,OAAO,CAAC+B,IAAI,CAAC3E,EAAE,CAAC,GAAG4G;IAAI,GAC/D3F,UAAU,KAAK0D,IAAI,CAAC3E,EAAE,gBACrB5D,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAuK,YAAY,EAAAxI,QAAA;MACLsG,IAAI;MAAExF;IAAW,GAAKK,MAAM;MAClCD,QAAQ,EAAEiF,YAAa;MACvBsB,SAAS,EAAE,IAAAgB,UAAM,EAACrK,KAAK,CAACsK,IAAI;IAAE,EAC/B,CAAC,gBAEF3K,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAA0K,WAAW,EAAA3I,QAAA;MAAOsG,IAAI;MAAExF;IAAW,GAAKK,MAAM;MAAIyH,OAAO,EAAEA,CAAA,KAAM3D,YAAY,CAACC,KAAK;IAAE,EAAE,CAEtF,CAAC;EAAA,CACR,CACS,CACR,CAAC,gBAEPnH,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAC5I,WAAA,CAAAwK,iBAAiB,MAAE,CACrB,CAAC,eACJ9K,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACiB,GAAG,EAAC,QAAQ;IAACR,GAAG,EAAEpG,SAAU;IAAC6G,GAAG,EAAEjC,GAAI;IAACO,KAAK,EAAC,OAAO;IAACI,SAAS,EAAErJ,KAAK,CAAC4K;EAAO,CAAE,CACrF,CACJ,CAAC,EAEAxG,MAAM,iBACLzE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACJ,SAAS,EAAErJ,KAAK,CAACyC;EAAQ,gBAC7B9C,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACxI,QAAA,CAAAwK,OAAO,EAAAjJ,QAAA,KACFY,UAAU;IACRsI,MAAM,EAAErI,OAAO;IAAEC;EAAW,GAAKK,MAAM;IAC7CgI,MAAM,EAAEjD,gBAAiB;IACzBkD,QAAQ,EAAE5C;EAAmB,EAC9B,CACG,CACP,EAEAhE,MAAM,IAAII,UAAU,KAAKc,SAAS,IAAIpC,QAAQ,iBAC7CvD,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAoL,MAAM;IAACnE,KAAK,EAAEJ,aAAc;IAACwE,QAAQ,EAAErE,YAAa;IAACwC,SAAS,EAAE,CAACpF,QAAQ,IAAIjE,KAAK,CAACmL;EAAQ,GACzFxE,aAAa,CAACiB,GAAG,CAAC,YAAsB;IAAA,IAArBM,IAAI,GAAAlG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE8E,KAAK,GAAA9E,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsD,SAAA;IAClC,MAAM8F,IAAI,GAAGtE,KAAK,KAAKH,aAAa,CAAC1E,MAAM,GAAG,CAAC;IAE/C,oBACEtC,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;MAACtH,GAAG,EAAE+F,IAAI,CAAC3E,EAAG;MAAC8F,SAAS,EAAErJ,KAAK,CAACkI;IAAK,gBACxCvI,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAA0K,WAAW,EAAA3I,QAAA;MACJsG,IAAI;MAAEkD,IAAI;MAAE1I;IAAW,GAAKK,MAAM;MACxCmC,OAAO,EAAE,CAACjB,QAAS;MACnBuG,OAAO,EAAEA,CAAA,KAAM,CAACvG,QAAQ,IAAIC,WAAW,CAAC,IAAI;IAAE,EAC/C,CAAC,eACFvE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAuK,YAAY,EAAAxI,QAAA;MACLsG,IAAI;MAAEkD,IAAI;MAAE1I;IAAW,GAAKK,MAAM;MACxCmC,OAAO,EAAEjB,QAAS;MAClBoH,QAAQ,EAAEA,CAAA,KAAMnH,WAAW,CAAC,KAAK,CAAE;MACnCpB,QAAQ,EAAEiF;IAAa,EACxB,CACG,CAAC;EAEX,CAAC,CACK,CAEL,CAAC;AAEZ,CAAC;AAACuD,OAAA,CAAAjJ,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACkJ,SAAS,GAAG;EACpB/I,UAAU,EAAEgJ,kBAAS,CAACC,MAAM;EAC5BhJ,OAAO,EAAE+I,kBAAS,CAACC,MAAM;EACzB/I,WAAW,EAAE8I,kBAAS,CAACE,MAAM;EAC7B/I,QAAQ,EAAE6I,kBAAS,CAACE,MAAM;EAC1B9I,OAAO,EAAE4I,kBAAS,CAACG,IAAI;EACvB9I,QAAQ,EAAE2I,kBAAS,CAACG,IAAI;EACxB7I,QAAQ,EAAE0I,kBAAS,CAACG;AACtB,CAAC;AAEDtJ,SAAS,CAACwC,WAAW,GAAG,4BAA4B"}
1
+ {"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_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","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","value","finder","place","id","hotelId","isHotel","hotel","language","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","isLoaded","roomId","origin","process","env","TWIN_URL","console","log","debounceSelectId","setTimeout","_itemsRef$current$sel","current","offsetTop","window","addEventListener","removeEventListener","METRICS","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","fromMap","contentWindow","postMessage","handleClose","metrics","_iframeRef$current2","_iframeRef$current2$c","keys","rooms","filter","soldOut","map","soldOutRooms","handleOpenFilter","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","Number","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onOpen","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useMemo } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const { value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel = {}, language } = {} } =\n useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n const { data: { isLoaded, roomId } = {}, origin } = event;\n if (origin !== process.env.TWIN_URL) return;\n\n // eslint-disable-next-line no-console\n console.log('Mensaje recibido:', event);\n\n debounceSelectId(roomId);\n\n if (isLoaded) setLoaded(true);\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:LOADED' });\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: false });\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = (metrics = true) => {\n metrics && Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleOpenFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:OPEN_FILTER' });\n };\n\n const handleSelect = (id) => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SELECT' });\n\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SUBMIT_FILTER' });\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: true });\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor })?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters\n {...dataSource}\n {...{ values: filters, priceFactor, ...others }}\n onOpen={handleOpenFilter}\n onSubmit={handleSubmitFilter}\n />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\n"],"mappings":"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"}
@@ -11,8 +11,7 @@ const getUrl = _ref => {
11
11
  hotelId,
12
12
  isHotel,
13
13
  items,
14
- language,
15
- variant
14
+ language
16
15
  } = _ref;
17
16
  if (!filteredItems || !hotel || !items || !language) return;
18
17
  const rooms = filteredItems.filter(function () {
@@ -26,7 +25,7 @@ const getUrl = _ref => {
26
25
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
26
  return id;
28
27
  });
29
- const soldOutRooms = variant !== 'B' ? items.filter(function () {
28
+ const soldOutRooms = items.filter(function () {
30
29
  let {
31
30
  soldOut
32
31
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -36,7 +35,7 @@ const getUrl = _ref => {
36
35
  id
37
36
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
38
37
  return id;
39
- }) : [];
38
+ });
40
39
  const params = {
41
40
  id: isHotel ? hotelId : hotel.id,
42
41
  lang: language,
@@ -1 +1 @@
1
- {"version":3,"file":"getUrl.js","names":["getUrl","_ref","filteredItems","hotel","hotelId","isHotel","items","language","variant","rooms","filter","soldOut","arguments","length","undefined","map","id","soldOutRooms","params","lang","origin","window","location","concat","process","env","TWIN_URL","URLSearchParams","Object","entries","exports"],"sources":["../../../../../../src/components/Rates/components/ModalTwin/helpers/getUrl.js"],"sourcesContent":["export const getUrl = ({ filteredItems, hotel, hotelId, isHotel, items, language, variant }) => {\n if (!filteredItems || !hotel || !items || !language) return;\n const rooms = filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id);\n const soldOutRooms = variant !== 'B' ? items.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id) : [];\n const params = {\n id: isHotel ? hotelId : hotel.id,\n lang: language,\n origin: window.location.origin,\n ...(rooms.length ? { rooms } : undefined),\n ...(soldOutRooms.length ? { soldOutRooms } : undefined),\n };\n\n return `${process.env.TWIN_URL}/rates/index.html?${new URLSearchParams(Object.entries(params))}`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAM,GAAGC,IAAA,IAA0E;EAAA,IAAzE;IAAEC,aAAa;IAAEC,KAAK;IAAEC,OAAO;IAAEC,OAAO;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAAP,IAAA;EACzF,IAAI,CAACC,aAAa,IAAI,CAACC,KAAK,IAAI,CAACG,KAAK,IAAI,CAACC,QAAQ,EAAE;EACrD,MAAME,KAAK,GAAGP,aAAa,CAACQ,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAACD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EAC3F,MAAMC,YAAY,GAAGT,OAAO,KAAK,GAAG,GAAGF,KAAK,CAACI,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC,GAAG,EAAE;EAChH,MAAME,MAAM,GAAG;IACbF,EAAE,EAAEX,OAAO,GAAGD,OAAO,GAAGD,KAAK,CAACa,EAAE;IAChCG,IAAI,EAAEZ,QAAQ;IACda,MAAM,EAAEC,MAAM,CAACC,QAAQ,CAACF,MAAM;IAC9B,IAAIX,KAAK,CAACI,MAAM,GAAG;MAAEJ;IAAM,CAAC,GAAGK,SAAS,CAAC;IACzC,IAAIG,YAAY,CAACJ,MAAM,GAAG;MAAEI;IAAa,CAAC,GAAGH,SAAS;EACxD,CAAC;EAED,UAAAS,MAAA,CAAUC,OAAO,CAACC,GAAG,CAACC,QAAQ,wBAAAH,MAAA,CAAqB,IAAII,eAAe,CAACC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,CAAC;AAChG,CAAC;AAACY,OAAA,CAAA9B,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"file":"getUrl.js","names":["getUrl","_ref","filteredItems","hotel","hotelId","isHotel","items","language","rooms","filter","soldOut","arguments","length","undefined","map","id","soldOutRooms","params","lang","origin","window","location","concat","process","env","TWIN_URL","URLSearchParams","Object","entries","exports"],"sources":["../../../../../../src/components/Rates/components/ModalTwin/helpers/getUrl.js"],"sourcesContent":["export const getUrl = ({ filteredItems, hotel, hotelId, isHotel, items, language }) => {\n if (!filteredItems || !hotel || !items || !language) return;\n const rooms = filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id);\n const soldOutRooms = items.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id);\n const params = {\n id: isHotel ? hotelId : hotel.id,\n lang: language,\n origin: window.location.origin,\n ...(rooms.length ? { rooms } : undefined),\n ...(soldOutRooms.length ? { soldOutRooms } : undefined),\n };\n\n return `${process.env.TWIN_URL}/rates/index.html?${new URLSearchParams(Object.entries(params))}`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAM,GAAGC,IAAA,IAAiE;EAAA,IAAhE;IAAEC,aAAa;IAAEC,KAAK;IAAEC,OAAO;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAAN,IAAA;EAChF,IAAI,CAACC,aAAa,IAAI,CAACC,KAAK,IAAI,CAACG,KAAK,IAAI,CAACC,QAAQ,EAAE;EACrD,MAAMC,KAAK,GAAGN,aAAa,CAACO,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAACD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EAC3F,MAAMC,YAAY,GAAGV,KAAK,CAACG,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EACzF,MAAME,MAAM,GAAG;IACbF,EAAE,EAAEV,OAAO,GAAGD,OAAO,GAAGD,KAAK,CAACY,EAAE;IAChCG,IAAI,EAAEX,QAAQ;IACdY,MAAM,EAAEC,MAAM,CAACC,QAAQ,CAACF,MAAM;IAC9B,IAAIX,KAAK,CAACI,MAAM,GAAG;MAAEJ;IAAM,CAAC,GAAGK,SAAS,CAAC;IACzC,IAAIG,YAAY,CAACJ,MAAM,GAAG;MAAEI;IAAa,CAAC,GAAGH,SAAS;EACxD,CAAC;EAED,UAAAS,MAAA,CAAUC,OAAO,CAACC,GAAG,CAACC,QAAQ,wBAAAH,MAAA,CAAqB,IAAII,eAAe,CAACC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,CAAC;AAChG,CAAC;AAACY,OAAA,CAAA7B,MAAA,GAAAA,MAAA"}
@@ -18,17 +18,14 @@ const select = function () {
18
18
  let {
19
19
  priceFactor = 1
20
20
  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
21
- let variant = arguments.length > 3 ? arguments[3] : undefined;
22
21
  return items.filter(function () {
23
22
  let {
24
23
  amenities = [],
25
24
  availability = 0,
26
25
  bedTypes = [],
27
26
  size: rawSize = '',
28
- soldOut,
29
27
  ...item
30
28
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
31
- if (soldOut && variant === 'B') return;
32
29
  const hasAmenities = filterAmenities.length === 0 || filterAmenities.every(item => amenities.map(_ref => {
33
30
  let {
34
31
  id
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","priceFactor","variant","filter","availability","bedTypes","size","rawSize","soldOut","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n { priceFactor = 1 } = {},\n variant,\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', soldOut, ...item } = {}) => {\n if (soldOut && variant === 'B') return;\n\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {\n boards = [],\n cancellations = [],\n rates = [],\n } = filterItem(\n item,\n {\n board,\n freeCancellation,\n priceRange: { max: priceRange.max, min: priceRange.min },\n },\n priceFactor,\n );\n const hasOptions = availability === 0 || (boards.length > 0 && (cancellations.length > 0 || rates.length > 0));\n\n return hasAmenities && hasBedTypes && hasSize && hasOptions;\n });\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAG,SAAAA,CAAA;EAAA,IACpBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACV;IAAEG,SAAS,EAAEC,eAAe,GAAG,EAAE;IAAEC,OAAO;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAC3G;IAAEU,WAAW,GAAG;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IACxBW,OAAO,GAAAX,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,OAEPH,KAAK,CAACa,MAAM,CAAC,YAAoG;IAAA,IAAnG;MAAET,SAAS,GAAG,EAAE;MAAEU,YAAY,GAAG,CAAC;MAAEC,QAAQ,GAAG,EAAE;MAAEC,IAAI,EAAEC,OAAO,GAAG,EAAE;MAAEC,OAAO;MAAE,GAAGC;IAAK,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC1G,IAAIiB,OAAO,IAAIN,OAAO,KAAK,GAAG,EAAE;IAEhC,MAAMQ,YAAY,GAChBf,eAAe,CAACH,MAAM,KAAK,CAAC,IAAIG,eAAe,CAACgB,KAAK,CAAEF,IAAI,IAAKf,SAAS,CAACkB,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAG,CAAC,GAAAD,IAAA;MAAA,OAAKC,EAAE;IAAA,EAAC,CAACC,QAAQ,CAACN,IAAI,CAAC,CAAC;IAE/G,MAAMO,WAAW,GAAG,CAACpB,OAAO,IAAIS,QAAQ,CAACU,QAAQ,CAACnB,OAAO,CAAC;IAE1D,IAAIqB,OAAO,GAAG,IAAI;IAClB,IAAI,CAACX,IAAI,CAAC,GAAGC,OAAO,CAACW,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAIZ,IAAI,EAAE;MACR,MAAM;QAAEa,GAAG,EAAEC,OAAO;QAAEC,GAAG,EAAEC;MAAQ,CAAC,GAAGtB,SAAS;MAEhDM,IAAI,GAAGiB,QAAQ,CAACjB,IAAI,CAAC;MACrBW,OAAO,GAAG,CAAC,CAACK,OAAO,IAAIhB,IAAI,IAAIgB,OAAO,MAAM,CAACF,OAAO,IAAId,IAAI,IAAIc,OAAO,CAAC;IAC1E;IAEA,MAAM;MACJI,MAAM,GAAG,EAAE;MACXC,aAAa,GAAG,EAAE;MAClBC,KAAK,GAAG;IACV,CAAC,GAAG,IAAAC,sBAAU,EACZlB,IAAI,EACJ;MACEZ,KAAK;MACLC,gBAAgB;MAChBC,UAAU,EAAE;QAAEoB,GAAG,EAAEpB,UAAU,CAACoB,GAAG;QAAEE,GAAG,EAAEtB,UAAU,CAACsB;MAAI;IACzD,CAAC,EACDpB,WACF,CAAC;IACD,MAAM2B,UAAU,GAAGxB,YAAY,KAAK,CAAC,IAAKoB,MAAM,CAAChC,MAAM,GAAG,CAAC,KAAKiC,aAAa,CAACjC,MAAM,GAAG,CAAC,IAAIkC,KAAK,CAAClC,MAAM,GAAG,CAAC,CAAE;IAE9G,OAAOkB,YAAY,IAAIM,WAAW,IAAIC,OAAO,IAAIW,UAAU;EAC7D,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAxC,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","priceFactor","filter","availability","bedTypes","size","rawSize","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n { priceFactor = 1 } = {},\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', ...item } = {}) => {\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {\n boards = [],\n cancellations = [],\n rates = [],\n } = filterItem(\n item,\n {\n board,\n freeCancellation,\n priceRange: { max: priceRange.max, min: priceRange.min },\n },\n priceFactor,\n );\n const hasOptions = availability === 0 || (boards.length > 0 && (cancellations.length > 0 || rates.length > 0));\n\n return hasAmenities && hasBedTypes && hasSize && hasOptions;\n });\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAG,SAAAA,CAAA;EAAA,IACpBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACV;IAAEG,SAAS,EAAEC,eAAe,GAAG,EAAE;IAAEC,OAAO;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAC3G;IAAEU,WAAW,GAAG;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAExBD,KAAK,CAACY,MAAM,CAAC,YAA2F;IAAA,IAA1F;MAAER,SAAS,GAAG,EAAE;MAAES,YAAY,GAAG,CAAC;MAAEC,QAAQ,GAAG,EAAE;MAAEC,IAAI,EAAEC,OAAO,GAAG,EAAE;MAAE,GAAGC;IAAK,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACjG,MAAMiB,YAAY,GAChBb,eAAe,CAACH,MAAM,KAAK,CAAC,IAAIG,eAAe,CAACc,KAAK,CAAEF,IAAI,IAAKb,SAAS,CAACgB,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAG,CAAC,GAAAD,IAAA;MAAA,OAAKC,EAAE;IAAA,EAAC,CAACC,QAAQ,CAACN,IAAI,CAAC,CAAC;IAE/G,MAAMO,WAAW,GAAG,CAAClB,OAAO,IAAIQ,QAAQ,CAACS,QAAQ,CAACjB,OAAO,CAAC;IAE1D,IAAImB,OAAO,GAAG,IAAI;IAClB,IAAI,CAACV,IAAI,CAAC,GAAGC,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAIX,IAAI,EAAE;MACR,MAAM;QAAEY,GAAG,EAAEC,OAAO;QAAEC,GAAG,EAAEC;MAAQ,CAAC,GAAGpB,SAAS;MAEhDK,IAAI,GAAGgB,QAAQ,CAAChB,IAAI,CAAC;MACrBU,OAAO,GAAG,CAAC,CAACK,OAAO,IAAIf,IAAI,IAAIe,OAAO,MAAM,CAACF,OAAO,IAAIb,IAAI,IAAIa,OAAO,CAAC;IAC1E;IAEA,MAAM;MACJI,MAAM,GAAG,EAAE;MACXC,aAAa,GAAG,EAAE;MAClBC,KAAK,GAAG;IACV,CAAC,GAAG,IAAAC,sBAAU,EACZlB,IAAI,EACJ;MACEV,KAAK;MACLC,gBAAgB;MAChBC,UAAU,EAAE;QAAEkB,GAAG,EAAElB,UAAU,CAACkB,GAAG;QAAEE,GAAG,EAAEpB,UAAU,CAACoB;MAAI;IACzD,CAAC,EACDlB,WACF,CAAC;IACD,MAAMyB,UAAU,GAAGvB,YAAY,KAAK,CAAC,IAAKmB,MAAM,CAAC9B,MAAM,GAAG,CAAC,KAAK+B,aAAa,CAAC/B,MAAM,GAAG,CAAC,IAAIgC,KAAK,CAAChC,MAAM,GAAG,CAAC,CAAE;IAE9G,OAAOgB,YAAY,IAAIM,WAAW,IAAIC,OAAO,IAAIW,UAAU;EAC7D,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAtC,MAAA,GAAAA,MAAA"}
@@ -256,7 +256,6 @@ const consolidateStore = async function () {
256
256
  promo,
257
257
  session,
258
258
  tags,
259
- variant: IS_JEST && !window.IS_PLAYWRIGHT ? undefined : urlParams.variant ? urlParams.variant : Math.random() < 0.5 ? 'A' : 'B',
260
259
  // -- components
261
260
  checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,
262
261
  deals: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n cookieBanner: config.cookieBanner,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant:\n IS_JEST && !window.IS_PLAYWRIGHT\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n cookieBanner: config.cookieBanner,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AAAmH,IAAAY,QAAA,EAAAC,YAAA;AAEnH,MAAMC,OAAO,GAAG,CAAC,GAAAF,QAAA,GAACG,OAAO,cAAAH,QAAA,gBAAAC,YAAA,GAAPD,QAAA,CAASI,GAAG,cAAAH,YAAA,eAAZA,YAAA,CAAcI,cAAc;;AAE9C;AACO,MAAMC,gBAAgB,GAAG,eAAAA,CAAA,EAOrB;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,KAAA,EAAAC,qBAAA,EAAAC,MAAA,EAAAC,iBAAA;EAAA,IAP4B;IACrCC,UAAU,GAAG,EAAE;IACfC,MAAM,GAAG,CAAC,CAAC;IACXC,OAAO,GAAG,CAAC,CAAC;IACZC,QAAQ,EAAE;MAAEC,EAAE;MAAEC,KAAK,EAAEC,OAAO;MAAEC,EAAE;MAAEC,IAAI;MAAE,GAAGL;IAAS,CAAC,GAAG,CAAC,CAAC;IAC5DM,OAAO;IACPC,SAAS,GAAG,CAAC;EACf,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAM;IAAEG;EAAQ,CAAC,GAAGJ,SAAS;EAC7B,MAAMK,OAAO,GAAGf,UAAU,CAACgB,IAAI,CAAC;IAAA,IAAC;MAAEC;IAAU,CAAC,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKM,SAAS,KAAK,OAAO;EAAA,EAAC;;EAE9E;EACA,MAAM;IACJC,OAAO,GAAG,GAAG;IACbC,SAAS,EAAEC,YAAY,GAAG,EAAE;IAC5BC,aAAa,EAAEC,YAAY;IAC3BC,MAAM,EAAEC,UAAU,GAAG,KAAK;IAC1BC,eAAe,EAAEC;EACnB,CAAC,GAAG,EAAApC,oBAAA,GAAAW,MAAM,CAAC0B,YAAY,cAAArC,oBAAA,uBAAnBA,oBAAA,CAAqBsC,QAAQ,KAAI,CAAC,CAAC;EACvC,MAAMA,QAAQ,GAAG;IACfR,YAAY;IACZE,YAAY;IACZI,YAAY,EAAEG,WAAK,CAACC,QAAQ,CAACJ,YAAY,CAAC,GAAGA,YAAY,GAAGF,UAAU,GAAGO,iBAAW,GAAGlB,SAAS;IAChGW,UAAU;IACVQ,EAAE,EAAE,CAAC/C,OAAO,GAAG,IAAAgD,kBAAU,EAAC,IAAAC,gBAAQ,EAAC,IAAIC,IAAI,CAAC,CAAC,EAAEjB,OAAO,EAAE,MAAM,CAAC,EAAE;MAAEkB,MAAM,EAAEC;IAAgB,CAAC,CAAC,GAAGxB;EAClG,CAAC;;EAED;EACA,MAAM;IAAEyB,QAAQ;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG,IAAAC,oBAAS,EAACtC,QAAQ,EAAEO,SAAS,CAAC;;EAEpE;EACA,MAAMgC,QAAQ,GACZhC,SAAS,CAACgC,QAAQ,IAClBvC,QAAQ,CAACuC,QAAQ,KAChBlC,IAAI,KAAKmC,UAAI,CAACC,KAAK,IAAI,CAAC3D,OAAO,GAAG,MAAM,IAAA4D,4BAAa,EAACtC,EAAE,CAAC,GAAGuC,wBAAgB,CAAC;;EAEhF;EACA,MAAMzC,KAAK,GAAG;IACZ0C,iBAAiB,EAAE,IAAAC,0CAAoB,EAAC/C,MAAM,CAACgD,mBAAmB,EAAE3C,OAAO,CAAC;IAC5E4C,QAAQ,EAAE,EAAA3D,qBAAA,GAAAU,MAAM,CAAC0B,YAAY,cAAApC,qBAAA,uBAAnBA,qBAAA,CAAqB2D,QAAQ,KAAI,CAAC,CAAC;IAC7C3C,EAAE,EAAEC,IAAI,KAAKmC,UAAI,CAACQ,KAAK,GAAGzC,SAAS,CAAC0C,eAAe,IAAI1C,SAAS,CAAC2C,OAAO,IAAI/C,OAAO,GAAGC,EAAE;IACxF+C,GAAG,EAAE5C,SAAS,CAAC6C,IAAI,IAAIC,MAAM,CAACC,QAAQ,CAACC,MAAM;IAC7CC,mBAAmB,EAAE1D,MAAM,CAAC2D;EAC9B,CAAC;EAED,IAAIpD,IAAI,KAAKmC,UAAI,CAACQ,KAAK,EAAE;IACvB,MAAM;MAAEU,MAAM,GAAG,CAAC;IAAE,CAAC,GAAG5D,MAAM;IAC9BI,KAAK,CAACyD,QAAQ,GAAG,CAAC,CAAC;IAEnBC,MAAM,CAACC,OAAO,CAACH,MAAM,CAAC,CAACI,GAAG,CAACC,IAAA,IAAuD;MAAA,IAAtD,CAACC,GAAG,EAAE;QAAElB,mBAAmB,EAAEF;MAAkB,CAAC,CAAC,GAAAmB,IAAA;MAC3E7D,KAAK,CAACyD,QAAQ,CAACK,GAAG,CAAC,GAAG;QAAEpB;MAAkB,CAAC;IAC7C,CAAC,CAAC;EACJ;;EAEA;EACA,MAAMqB,UAAU,GAAG;IACjBC,UAAU,EAAE,EAAA7E,qBAAA,GAAAS,MAAM,CAAC0B,YAAY,cAAAnC,qBAAA,uBAAnBA,qBAAA,CAAqB4E,UAAU,KAAI,CAC7C;MAAE5D,IAAI,EAAEmC,UAAI,CAAC2B,KAAK;MAAEC,GAAG,EAAE,CAAC;MAAEC,GAAG,EAAE,CAAC,EAAE;IAAE,CAAC,EACvC;MAAEhE,IAAI,EAAEmC,UAAI,CAAC8B,KAAK;MAAED,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MAAEE,OAAO,EAAE;IAAK,CAAC,CAClD;IACDC,QAAQ,GAAAlF,qBAAA,GAAEQ,MAAM,CAAC0B,YAAY,cAAAlC,qBAAA,wBAAAC,qBAAA,GAAnBD,qBAAA,CAAqBmF,KAAK,cAAAlF,qBAAA,uBAA1BA,qBAAA,CAA4BmF,aAAa;IACnDf,QAAQ,EAAE,EAAAnE,qBAAA,GAAAM,MAAM,CAAC0B,YAAY,cAAAhC,qBAAA,uBAAnBA,qBAAA,CAAqBmE,QAAQ,KAAI;EAC7C,CAAC;;EAED;EACA,MAAMJ,MAAM,GAAG;IACboB,cAAc,EAAEpE,SAAS,CAACqE,IAAI,IAAIC,qBAAe,CAACxE,IAAI;EACxD,CAAC;;EAED;EACA,MAAM;IAAEyE;EAAc,CAAC,GAAGhF,MAAM;EAChC,IAAIiF,IAAI;EACR,IAAI1E,IAAI,KAAKmC,UAAI,CAACQ,KAAK,IAAI8B,aAAa,EAAE;IACxC,MAAM;MAAEE,WAAW,GAAG,CAAC,CAAC;MAAEC,KAAK,GAAG;IAAG,CAAC,GAAGH,aAAa;IACtDC,IAAI,GAAG;MAAEG,OAAO,EAAE,IAAAC,gBAAO,EAACF,KAAK,EAAE9C,QAAQ,CAAC;MAAEiD,WAAW,EAAEJ,WAAW,CAAC7C,QAAQ;IAAE,CAAC;EAClF;;EAEA;EACA,MAAMkD,aAAa,GAAG,CAACzE,OAAO,GAAG,IAAI0E,oBAAO,CAAC;IAAEC,OAAO,EAAEC;EAAa,CAAC,CAAC,CAACC,GAAG,IAAAC,MAAA,CAAIC,wBAAkB,OAAAD,MAAA,CAAItF,EAAE,CAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;EAErH,IAAI;IAAEwF,kBAAkB;IAAEC,OAAO;IAAEC,UAAU;IAAEC,MAAM,GAAGnF,OAAO,GAAG,CAAC,GAAG,CAAC;IAAEoF,OAAO;IAAEC,KAAK,EAAEC;EAAU,CAAC,GAAG3F,SAAS;EAChHsF,OAAO,GAAGA,OAAO,GAAG,IAAAM,iBAAS,EAACN,OAAO,CAAC,GAAGjF,OAAO,GAAG,IAAAwF,WAAG,EAAC,IAAIpE,IAAI,CAAC,CAAC,CAAC,GAAGtB,SAAS;EAC9E,IAAI2F,QAAQ;EAEZ,IAAIR,OAAO,EAAEQ,QAAQ,GAAG,IAAAtE,gBAAQ,EAAC8D,OAAO,EAAES,QAAQ,CAACP,MAAM,CAAC,EAAE,MAAM,CAAC;EAEnE,IAAIE,KAAK;EACT,IAAInG,MAAM,CAACyG,YAAY,EAAE;IACvB,MAAM;MAAE/E,YAAY,EAAE;QAAEyE,KAAK,EAAEO,WAAW,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC,SAAS,EAAErB,WAAW,GAAG,CAAC;IAAE,CAAC,GAAGtF,MAAM;IAC9FmG,KAAK,GAAG;MACN,GAAGO,WAAW;MACdpB,WAAW;MACXzB,QAAQ,EAAEC,MAAM,CAAC8C,WAAW,CAACzC,UAAU,CAACN,QAAQ,CAACG,GAAG,CAAC;QAAA,IAAC;UAAE1D,EAAE;UAAE6F,KAAK,EAAE;YAAEU;UAAK,CAAC,GAAG,CAAC;QAAE,CAAC,GAAAnG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAACJ,EAAE,EAAEuG,IAAI,CAAC;MAAA,EAAC;IACzG,CAAC;EACH;EAEA,IAAIC,KAAK;EACT,IAAI7B,IAAI,EAAE;IACR6B,KAAK,GAAG7B,IAAI,CAACG,OAAO,CAAC2B,IAAI,CACvB;MAAA,IAAC;QAAEzG,EAAE,EAAE,CAAC8C,OAAO,CAAC,GAAG,EAAE;QAAE4D,OAAO;QAAEC;MAAM,CAAC,GAAAvG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OACzCoF,kBAAkB,IAAImB,KAAK,KAAKC,MAAM,CAACpB,kBAAkB,CAAC,IAAMkB,OAAO,IAAI5G,KAAK,CAACE,EAAE,KAAK8C,OAAQ;IAAA,CACrG,CAAC;IAED,MAAM;MAAE9C,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAGwG,KAAK,IAAI,CAAC,CAAC;IACrC,MAAM;MAAEhE;IAAkB,CAAC,GAAG1C,KAAK,CAACyD,QAAQ,CAACvD,EAAE,CAAC,IAAI,CAAC,CAAC;IACtD,IAAIwC,iBAAiB,EAAE1C,KAAK,CAAC0C,iBAAiB,GAAGA,iBAAiB;EACpE;EAEA,IAAIqE,MAAM,GAAG;IACXL,KAAK,EAAEA,KAAK,IAAIvB,aAAa,CAACuB,KAAK;IACnCnF,QAAQ,EAAEoE,OAAO,GACb,CAACA,OAAO,EAAEQ,QAAQ,CAAC,GACnBhB,aAAa,CAAC5D,QAAQ,IAAI,IAAAyF,gBAAQ,EAAC,IAAIlF,IAAI,CAAC,CAAC,EAAE,IAAIA,IAAI,CAACqD,aAAa,CAAC5D,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC0F,IAAI,GAAG,CAAC,CAAC,GAC7F,CAAC,IAAInF,IAAI,CAACqD,aAAa,CAAC5D,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIO,IAAI,CAACqD,aAAa,CAAC5D,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1E,EAAE;IACNwC,UAAU,EAAE+B,OAAO,GACf,IAAAoB,0BAAY,EAAC;MAAExB,kBAAkB;MAAE3B,UAAU;MAAE+B,OAAO;MAAEqB,MAAM,GAAA5H,KAAA,GAAEsF,IAAI,cAAAtF,KAAA,uBAAJA,KAAA,CAAMyF;IAAQ,CAAC,CAAC,GAChFtE,OAAO,GACP,CAAC,IAAA0G,wBAAW,EAACrD,UAAU,CAACC,UAAU,CAAC,CAAC,GACpC,EAAAxE,qBAAA,GAAA2F,aAAa,CAACpB,UAAU,cAAAvE,qBAAA,uBAAxBA,qBAAA,CAA0BoE,GAAG,CAAEW,KAAK,IAClCA,KAAK,CAACX,GAAG,CAAC;MAAA,IAACiD,KAAK,GAAAvG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QACzB,GAAGuG,KAAK;QACR,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEQ,IAAI,GAAG;UAAEA,IAAI,EAAER,KAAK,CAACQ,IAAI,CAACzD,GAAG,CAAEO,GAAG,IAAMA,GAAG,KAAK,IAAI,GAAG3D,SAAS,GAAG2D,GAAI;QAAE,CAAC,GAAG3D,SAAS;MACnG,CAAC;IAAA,CAAC,CACJ,CAAC,KAAIA,SAAS;IAClB8G,SAAS,EAAE1B,UAAU,IAAII,SAAS,IAAK,CAACtF,OAAO,MAAAjB,MAAA,GAAIsG,KAAK,cAAAtG,MAAA,uBAALA,MAAA,CAAOgH,IAAI,CAAC,IAAItB,aAAa,CAACmC;EACnF,CAAC;;EAED;EACA,MAAMC,IAAI,MAAA/B,MAAA,CAAMgC,QAAQ,CAACpE,QAAQ,CAACqE,QAAQ,QAAAjC,MAAA,CAAKgC,QAAQ,CAACpE,QAAQ,CAACmE,IAAI,CAAE;EACvE,MAAMG,aAAa,GAAG7I,OAAO,CAACC,GAAG,CAAC6I,QAAQ,KAAK,aAAa,IAAIxE,MAAM,CAACyE,aAAa;EACpF,MAAMC,SAAS,GAAG;IAChBC,KAAK,EAAErH,OAAO,MAAA+E,MAAA,CAAM+B,IAAI,uBAAA/B,MAAA,CAAoB3G,OAAO,CAACC,GAAG,CAACiJ,eAAe,8BAA2B;IAClG5B,QAAQ,EAAE1F,OAAO,MAAA+E,MAAA,CAAM+B,IAAI,0BAAA/B,MAAA,CAAuB3G,OAAO,CAACC,GAAG,CAACiJ,eAAe,+BAA4B;IACzGC,OAAO,EAAEvH,OAAO,MAAA+E,MAAA,CAAM+B,IAAI,yBAAA/B,MAAA,CAAsB3G,OAAO,CAACC,GAAG,CAACiJ,eAAe,sCAAmC;IAC9GE,MAAM,EACJxH,OAAO,IAAIiH,aAAa,MAAAlC,MAAA,CACjB+B,IAAI,kBAAA/B,MAAA,CACJ3G,OAAO,CAACC,GAAG,CAACoJ,YAAY,4CAAyC;IAC1EC,OAAO,EACL1H,OAAO,IAAIiH,aAAa,MAAAlC,MAAA,CAAM+B,IAAI,mBAAA/B,MAAA,CAAgB3G,OAAO,CAACC,GAAG,CAACoJ,YAAY;EAC9E,CAAC;EAED,OAAO;IACLtI,MAAM;IACNC,OAAO;IACPuI,YAAY,EAAExI,MAAM,CAACwI,YAAY;IACjC/H,SAAS;IACT,GAAGP,QAAQ;IACXI,EAAE;IACFC,IAAI;IAEJ;IACAkC,QAAQ;IACRJ,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNkG,OAAO,GAAA3I,iBAAA,GAAEE,MAAM,CAAC0I,SAAS,cAAA5I,iBAAA,uBAAhBA,iBAAA,CACLkE,GAAG,CAAE3B,QAAQ,IAAMA,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAGA,QAAS,CAAC,CACzD2B,GAAG,CAAE3B,QAAQ,OAAAuD,MAAA,CAAQvD,QAAQ,OAAAuD,MAAA,CAAI+C,iBAAS,CAACtG,QAAQ,CAAC,CAAE,CAAC;IAE1D;IACAV,QAAQ;IACRiH,IAAI,EAAE,IAAAC,gBAAO,EAAC;MAAE7I,MAAM;MAAEqC,QAAQ;MAAE9B,IAAI;MAAEE;IAAU,CAAC,CAAC;IACpDV,UAAU,EAAEA,UAAU,CAAC+I,MAAM,CAAC,CAAC7B,KAAK,EAAA8B,KAAA,KAA8B;MAAA,IAA5B;QAAE/H,SAAS;QAAE,GAAGgI;MAAM,CAAC,GAAAD,KAAA;MAC3D9B,KAAK,CAACjG,SAAS,CAAC,GAAGgI,KAAK;MACxB,OAAO/B,KAAK;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;IACNgB,SAAS;IACT7H,KAAK;IACL+D,UAAU;IACVV,MAAM;IACNwF,WAAW,EAAE,IAAAC,8BAAc,EAAClJ,MAAM,EAAEI,KAAK,CAACE,EAAE,CAAC;IAC7C6F,KAAK;IACL3F,OAAO;IACPyE,IAAI;IACJ;IACAsB,QAAQ,EAAE,CAACvH,OAAO,IAAIyB,SAAS,CAAC0I,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAC5I,SAAS,CAAC0I,YAAY,CAAC,GAAGvI,SAAS;IAC7F0I,KAAK,EAAE1I,SAAS;IAChBuG,MAAM;IACNoC,IAAI,EAAE3I,SAAS;IACfsH,KAAK,EAAE;MACLsB,IAAI,EAAE/I,SAAS,CAAC+I,IAAI,GAAG/I,SAAS,CAAC+I,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,GAAGhJ,SAAS,CAACyH,KAAK,GAAG,IAAAwB,0BAAY,EAACjJ,SAAS,CAACyH,KAAK,CAAC,GAAGtH,SAAS;MAC9G+I,IAAI,EAAE,CAAC,CAAClJ,SAAS,CAACyH;IACpB,CAAC;IACDvD,KAAK,EAAE/D,SAAS;IAChByH,MAAM,EAAEzH;EACV,CAAC;AACH,CAAC;AAACgJ,OAAA,CAAAxK,gBAAA,GAAAA,gBAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.337",
3
+ "version": "0.4.339",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",