@mirai/core 0.4.353 → 0.4.355
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Rates/components/Item/components/Slider/Slider.constants.js +9 -0
- package/build/components/Rates/components/Item/components/Slider/Slider.constants.js.map +1 -0
- package/build/components/Rates/components/Item/components/Slider/Slider.js +14 -6
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/__shared__/RatesExplorer/RatesExplorer.js +1 -1
- package/build/components/__shared__/RatesExplorer/RatesExplorer.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SCROLL_DELAY = exports.PRELOAD_IMAGES = void 0;
|
|
7
|
+
const PRELOAD_IMAGES = exports.PRELOAD_IMAGES = 3;
|
|
8
|
+
const SCROLL_DELAY = exports.SCROLL_DELAY = 300;
|
|
9
|
+
//# sourceMappingURL=Slider.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.constants.js","names":["PRELOAD_IMAGES","exports","SCROLL_DELAY"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.constants.js"],"sourcesContent":["const PRELOAD_IMAGES = 3;\n\nconst SCROLL_DELAY = 300;\n\nexport { PRELOAD_IMAGES, SCROLL_DELAY };\n"],"mappings":";;;;;;AAAA,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,CAAC;AAExB,MAAME,YAAY,GAAAD,OAAA,CAAAC,YAAA,GAAG,GAAG"}
|
|
@@ -9,7 +9,8 @@ var _locale = require("@mirai/locale");
|
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _Slider = require("./Slider.
|
|
12
|
+
var _Slider = require("./Slider.constants");
|
|
13
|
+
var _Slider2 = require("./Slider.l10n");
|
|
13
14
|
var style = _interopRequireWildcard(require("./Slider.module.css"));
|
|
14
15
|
var _helpers = require("../../../../../helpers");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -33,6 +34,9 @@ const Slider = _ref => {
|
|
|
33
34
|
onViewUrl = () => {},
|
|
34
35
|
...others
|
|
35
36
|
} = _ref;
|
|
37
|
+
const {
|
|
38
|
+
isMobile
|
|
39
|
+
} = (0, _ui.useDevice)();
|
|
36
40
|
const {
|
|
37
41
|
translate
|
|
38
42
|
} = (0, _locale.useLocale)();
|
|
@@ -66,15 +70,19 @@ const Slider = _ref => {
|
|
|
66
70
|
images,
|
|
67
71
|
indicator,
|
|
68
72
|
width,
|
|
69
|
-
onCounter
|
|
73
|
+
onCounter
|
|
74
|
+
}, isMobile ? {
|
|
75
|
+
preloadImages: _Slider.PRELOAD_IMAGES,
|
|
76
|
+
scrollDelay: _Slider.SCROLL_DELAY
|
|
77
|
+
} : {}, {
|
|
70
78
|
onChange: handleSliderIndex
|
|
71
79
|
}, sliderProps)), children, (url3D || urlVideo) && sliderIndex === 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
72
80
|
row: true,
|
|
73
81
|
className: style.buttons
|
|
74
82
|
}, urlVideo && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
|
|
75
|
-
tooltip: translate(
|
|
83
|
+
tooltip: translate(_Slider2.L10N.LABEL_VIEW_VIDEO),
|
|
76
84
|
onPress: () => onViewUrl({
|
|
77
|
-
title: translate(
|
|
85
|
+
title: translate(_Slider2.L10N.LABEL_VIEW_VIDEO),
|
|
78
86
|
url: urlVideo
|
|
79
87
|
})
|
|
80
88
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
@@ -83,9 +91,9 @@ const Slider = _ref => {
|
|
|
83
91
|
value: _helpers.ICON.PLAY,
|
|
84
92
|
className: style.icon
|
|
85
93
|
})), url3D && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
|
|
86
|
-
tooltip: translate(
|
|
94
|
+
tooltip: translate(_Slider2.L10N.LABEL_3D_VIEW),
|
|
87
95
|
onPress: () => onViewUrl({
|
|
88
|
-
title: translate(
|
|
96
|
+
title: translate(_Slider2.L10N.LABEL_3D_VIEW),
|
|
89
97
|
url: url3D
|
|
90
98
|
})
|
|
91
99
|
}), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Slider","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Slider","_ref","captions","children","height","images","indicator","media","url3D","urlVideo","metrics","width","onCounter","onViewUrl","others","translate","useLocale","sliderIndex","setSliderIndex","useState","sliderProps","className","slider","maxHeight","handleSliderIndex","index","Event","publish","EVENT","METRICS","id","concat","buttonProps","rounded","squared","transparent","button","createElement","View","counter","onChange","row","buttons","Button","tooltip","L10N","LABEL_VIEW_VIDEO","onPress","title","url","Icon","headline","level","value","ICON","PLAY","icon","LABEL_3D_VIEW","THREE_D_ROTATION","exports","displayName","propTypes","PropTypes","arrayOf","string","node","number","bool","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Slider as SliderBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './Slider.l10n';\nimport * as style from './Slider.module.css';\nimport { EVENT, ICON } from '../../../../../helpers';\n\nconst Slider = ({\n captions = [],\n children,\n height,\n images = [],\n indicator = true,\n media: { url3D, urlVideo } = {},\n metrics = 'RATES:ITEM',\n width,\n onCounter,\n onViewUrl = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const sliderProps = { className: [style.slider, others.className], style: { height, maxHeight: height } };\n\n const handleSliderIndex = (index) => {\n setSliderIndex(index);\n if (index > 0) Event.publish(EVENT.METRICS, { id: `${metrics}:SLIDER`, index });\n };\n\n // ! TODO: This should be part of the service of rates\n const buttonProps = { rounded: true, squared: true, transparent: true, className: style.button };\n\n return (\n <View {...sliderProps}>\n <SliderBase\n counter\n {...{
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Slider","_Slider2","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Slider","_ref","captions","children","height","images","indicator","media","url3D","urlVideo","metrics","width","onCounter","onViewUrl","others","isMobile","useDevice","translate","useLocale","sliderIndex","setSliderIndex","useState","sliderProps","className","slider","maxHeight","handleSliderIndex","index","Event","publish","EVENT","METRICS","id","concat","buttonProps","rounded","squared","transparent","button","createElement","View","counter","preloadImages","PRELOAD_IMAGES","scrollDelay","SCROLL_DELAY","onChange","row","buttons","Button","tooltip","L10N","LABEL_VIEW_VIDEO","onPress","title","url","Icon","headline","level","value","ICON","PLAY","icon","LABEL_3D_VIEW","THREE_D_ROTATION","exports","displayName","propTypes","PropTypes","arrayOf","string","node","number","bool","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Slider as SliderBase, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { PRELOAD_IMAGES, SCROLL_DELAY } from './Slider.constants';\nimport { L10N } from './Slider.l10n';\nimport * as style from './Slider.module.css';\nimport { EVENT, ICON } from '../../../../../helpers';\n\nconst Slider = ({\n captions = [],\n children,\n height,\n images = [],\n indicator = true,\n media: { url3D, urlVideo } = {},\n metrics = 'RATES:ITEM',\n width,\n onCounter,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const sliderProps = { className: [style.slider, others.className], style: { height, maxHeight: height } };\n\n const handleSliderIndex = (index) => {\n setSliderIndex(index);\n if (index > 0) Event.publish(EVENT.METRICS, { id: `${metrics}:SLIDER`, index });\n };\n\n // ! TODO: This should be part of the service of rates\n const buttonProps = { rounded: true, squared: true, transparent: true, className: style.button };\n\n return (\n <View {...sliderProps}>\n <SliderBase\n counter\n {...{\n captions,\n height,\n images,\n indicator,\n width,\n onCounter,\n ...(isMobile\n ? {\n preloadImages: PRELOAD_IMAGES,\n scrollDelay: SCROLL_DELAY,\n }\n : {}),\n }}\n onChange={handleSliderIndex}\n {...sliderProps}\n />\n\n {children}\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n {...buttonProps}\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n >\n <Icon headline level={2} value={ICON.PLAY} className={style.icon} />\n </Button>\n )}\n\n {url3D && (\n <Button\n {...buttonProps}\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n >\n <Icon headline level={2} value={ICON.THREE_D_ROTATION} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Mirai:Core:Rates:Item:Slider';\n\nSlider.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node,\n height: PropTypes.number,\n images: PropTypes.arrayOf(PropTypes.string),\n indicator: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n metrics: PropTypes.string,\n width: PropTypes.number,\n onCounter: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
|
|
@@ -204,7 +204,7 @@ const RatesExplorer = _ref => {
|
|
|
204
204
|
promoCode = ''
|
|
205
205
|
} = value;
|
|
206
206
|
const role = offerId ? 'deals' : 'rooms';
|
|
207
|
-
console.log(dataSource === null || dataSource === void 0 ? void 0 : dataSource.occupation);
|
|
207
|
+
console.log(dataSource === null || dataSource === void 0 ? void 0 : dataSource.occupation, value === null || value === void 0 ? void 0 : value.occupation);
|
|
208
208
|
return !skeleton ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
209
209
|
role: role,
|
|
210
210
|
className: (0, _ui.styles)(style.ratesExplorer, others.className)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_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","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","console","log","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n console.log({ currency, locale });\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n console.log('>>>>>rooms', occupation, value?.occupation);\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n console.log(dataSource?.occupation);\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_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","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","console","log","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n console.log({ currency, locale });\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n console.log('>>>>>rooms', occupation, value?.occupation);\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n console.log(dataSource?.occupation, value?.occupation);\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
|