@mirai/core 0.4.303 → 0.4.305

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.
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Header = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
7
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
8
  var _ui = require("@mirai/ui");
11
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
10
  var _react = _interopRequireDefault(require("react"));
13
11
  var _components = require("./components");
14
- var _Rates = require("./Rates.constants");
15
- var _Rates2 = require("./Rates.l10n");
12
+ var _Rates = require("./Rates.l10n");
16
13
  var style = _interopRequireWildcard(require("./Rates.module.css"));
17
14
  var _helpers = require("../helpers");
18
15
  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); }
@@ -26,7 +23,6 @@ const Header = _ref => {
26
23
  multiRoom,
27
24
  onMapView = () => {},
28
25
  onSelect = () => {},
29
- onTwin = () => {},
30
26
  ...others
31
27
  } = _ref;
32
28
  const {
@@ -35,26 +31,6 @@ const Header = _ref => {
35
31
  const {
36
32
  translate
37
33
  } = (0, _locale.useLocale)();
38
- const {
39
- value: {
40
- finder: {
41
- place: {
42
- id: [hotelId] = [],
43
- isHotel
44
- } = {}
45
- } = {},
46
- hotel
47
- } = {}
48
- } = (0, _dataSources.useStore)();
49
- const handlePress = () => {
50
- _dataSources.Event.publish(_helpers.EVENT.EXTERNAL_TWIN, {
51
- event: _helpers.EVENT.EXTERNAL_TWIN
52
- });
53
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
54
- id: 'TWIN_RATES:MODAL_TWIN:OPEN'
55
- });
56
- onTwin(true);
57
- };
58
34
  const {
59
35
  contentBackground
60
36
  } = _ui.Theme.get();
@@ -67,8 +43,7 @@ const Header = _ref => {
67
43
  items = []
68
44
  } = dataSource;
69
45
  const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;
70
- const twin = items.length > 0 && !multiRoom && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
71
- return children || hasHotelverse || hotels.length > 1 || twin ? /*#__PURE__*/_react.default.createElement(_ui.View, {
46
+ return children || hasHotelverse || hotels.length > 1 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
72
47
  row: true,
73
48
  className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
74
49
  style: {
@@ -78,15 +53,11 @@ const Header = _ref => {
78
53
  items,
79
54
  multiRoom,
80
55
  onSelect
81
- }, others)), twin && /*#__PURE__*/_react.default.createElement(_ui.Button, {
82
- secondary: true,
83
- onPress: handlePress,
84
- className: isMobile && style.wide
85
- }, translate(_Rates2.L10N.ACTION_IMMERSIVE_BOOKING)), hotels.length > 1 && /*#__PURE__*/_react.default.createElement(_ui.Button, {
56
+ }, others)), hotels.length > 1 && /*#__PURE__*/_react.default.createElement(_ui.Button, {
86
57
  secondary: true,
87
58
  wide: isMobile,
88
59
  onPress: () => onMapView(hotels)
89
- }, translate(_Rates2.L10N.ACTION_SHOW_ON_MAP))) : null;
60
+ }, translate(_Rates.L10N.ACTION_SHOW_ON_MAP))) : null;
90
61
  };
91
62
  exports.Header = Header;
92
63
  Header.displayName = 'Mirai:Core:Rates:Header';
@@ -95,7 +66,6 @@ Header.propTypes = {
95
66
  dataSource: _propTypes.default.shape({}),
96
67
  multiRoom: _propTypes.default.bool,
97
68
  onMapView: _propTypes.default.func,
98
- onSelect: _propTypes.default.func,
99
- onTwin: _propTypes.default.func
69
+ onSelect: _propTypes.default.func
100
70
  };
101
71
  //# sourceMappingURL=Rates.Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","_Rates2","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","children","dataSource","multiRoom","onMapView","onSelect","onTwin","others","isMobile","useDevice","translate","useLocale","value","finder","place","id","hotelId","isHotel","hotel","useStore","handlePress","Event","publish","EVENT","EXTERNAL_TWIN","event","METRICS","contentBackground","Theme","hotelverse","hash","token","hotels","items","hasHotelverse","undefined","twin","ServiceFeatures","FEATURES","TWIN","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","Button","secondary","onPress","wide","L10N","ACTION_IMMERSIVE_BOOKING","ACTION_SHOW_ON_MAP","exports","displayName","propTypes","PropTypes","node","shape","bool","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURES } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, opacity } from '../helpers';\n\nconst Header = ({\n children,\n dataSource = {},\n multiRoom,\n onMapView = () => {},\n onSelect = () => {},\n onTwin = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel } = {} } = useStore();\n\n const handlePress = () => {\n Event.publish(EVENT.EXTERNAL_TWIN, { event: EVENT.EXTERNAL_TWIN });\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:OPEN' });\n onTwin(true);\n };\n\n const { contentBackground } = Theme.get();\n const { hotelverse: { hash, token } = {}, hotels = [], items = [] } = dataSource;\n const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;\n const twin = items.length > 0 && !multiRoom && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return children || hasHotelverse || hotels.length > 1 || twin ? (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasHotelverse && <Hotelverse {...{ ...dataSource, items, multiRoom, onSelect, ...others }} />}\n {twin && (\n <Button secondary onPress={handlePress} className={isMobile && style.wide}>\n {translate(L10N.ACTION_IMMERSIVE_BOOKING)}\n </Button>\n )}\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n ) : null;\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onMapView: PropTypes.func,\n onSelect: PropTypes.func,\n onTwin: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Header.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","children","dataSource","multiRoom","onMapView","onSelect","others","isMobile","useDevice","translate","useLocale","contentBackground","Theme","hotelverse","hash","token","hotels","items","hasHotelverse","undefined","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","Button","secondary","wide","onPress","L10N","ACTION_SHOW_ON_MAP","exports","displayName","propTypes","PropTypes","node","shape","bool","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { opacity } from '../helpers';\n\nconst Header = ({ children, dataSource = {}, multiRoom, onMapView = () => {}, onSelect = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { contentBackground } = Theme.get();\n const { hotelverse: { hash, token } = {}, hotels = [], items = [] } = dataSource;\n const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;\n\n return children || hasHotelverse || hotels.length > 1 ? (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasHotelverse && <Hotelverse {...{ ...dataSource, items, multiRoom, onSelect, ...others }} />}\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n ) : null;\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onMapView: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -81,7 +81,7 @@ const Rates = _ref => {
81
81
  const [itemUrl, setItemUrl] = (0, _react.useState)();
82
82
  const [mapView, setMapView] = (0, _react.useState)();
83
83
  const [offerInfo, setOfferInfo] = (0, _react.useState)();
84
- const [twin, setTwin] = (0, _react.useState)();
84
+ const [twinSelected, setTwinSelected] = (0, _react.useState)();
85
85
  const {
86
86
  calendar = [],
87
87
  occupation = []
@@ -174,7 +174,7 @@ const Rates = _ref => {
174
174
  setCart(nextCart);
175
175
  setExtras();
176
176
  setMetaBoard(undefined);
177
- setTwin();
177
+ setTwinSelected();
178
178
  clubRate && setClubRate(false);
179
179
  if (!multiRoom && !!board) handleSubmit(nextCart);
180
180
  if (multiRoom) {
@@ -303,6 +303,11 @@ const Rates = _ref => {
303
303
  }, _helpers3.SUBMIT_DELAY);
304
304
  };
305
305
  const handleCloseLogin = () => multiRoom ? setClubRate(false) : handleSelect();
306
+ const handleTwin = roomId => {
307
+ setFilterBoard();
308
+ setMetaBoard();
309
+ setTwinSelected(roomId);
310
+ };
306
311
  const scrollTo = function () {
307
312
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
308
313
  return window.scrollTo({
@@ -392,12 +397,7 @@ const Rates = _ref => {
392
397
  multiRoom,
393
398
  priceFactor,
394
399
  onMapView: setMapView,
395
- onSelect: handleSelect,
396
- onTwin: () => {
397
- setFilterBoard();
398
- setMetaBoard();
399
- setTwin(true);
400
- }
400
+ onSelect: handleSelect
401
401
  }, !isMobile ? /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, _extends({}, roomSelectorProps, {
402
402
  testId: testId ? "".concat(testId, "-multiroom") : undefined
403
403
  })) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, (_select = (0, _helpers.select)(dataSource.items, filters, {
@@ -429,6 +429,7 @@ const Rates = _ref => {
429
429
  onMoreInfo: () => setItemInfo(item),
430
430
  onOfferInfo: rate => setOfferInfo(rate),
431
431
  onSelect: handleSelect,
432
+ onTwin: handleTwin,
432
433
  onViewUrl: info => setItemUrl(info),
433
434
  testId: testId ? "".concat(testId, "-item-").concat(index) : undefined
434
435
  }));
@@ -483,9 +484,9 @@ const Rates = _ref => {
483
484
  nights,
484
485
  priceFactor,
485
486
  room,
486
- visible: twin,
487
+ selected: twinSelected,
487
488
  onBook: handleSelect,
488
- onClose: () => setTwin(),
489
+ onClose: () => setTwinSelected(),
489
490
  onFilter: handleFilters,
490
491
  onSelect: setFilterBoard
491
492
  })), /*#__PURE__*/_react.default.createElement(_components.ModalExtras, _extends({}, dataSource, {
@@ -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","twin","setTwin","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","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","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","onTwin","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","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 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 [twin, setTwin] = 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 setTwin();\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);\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 checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\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 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 { 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 {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\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 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 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, 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 }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\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)}\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","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","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 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);\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 checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\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 { 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 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, 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)}\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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"}
@@ -30,12 +30,14 @@ const Preview = _ref => {
30
30
  ...features
31
31
  } = {},
32
32
  images = [],
33
+ id,
33
34
  isSoldOut = false,
34
35
  media,
35
36
  name: title,
36
37
  showActions = true,
37
38
  width: propWidth,
38
39
  onMoreInfo,
40
+ onTwin = () => {},
39
41
  onViewUrl = () => {},
40
42
  ...others
41
43
  } = _ref;
@@ -61,8 +63,7 @@ const Preview = _ref => {
61
63
  hotel: {
62
64
  warningAvailability = 9999,
63
65
  ...hotel
64
- } = {},
65
- language
66
+ } = {}
66
67
  } = {}
67
68
  } = (0, _dataSources.useStore)();
68
69
  (0, _react.useEffect)(() => {
@@ -78,7 +79,16 @@ const Preview = _ref => {
78
79
  id: 'RATES:ITEM:SLIDER:COUNTER'
79
80
  });
80
81
  };
81
- const hasTwin = others.id && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
82
+ const handleTwin = () => {
83
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
84
+ id: 'TWIN_RATES:ITEM:TWIN'
85
+ });
86
+ _dataSources.Event.publish(_helpers.EVENT.EXTERNAL_TWIN, {
87
+ event: _helpers.EVENT.EXTERNAL_TWIN
88
+ });
89
+ onTwin(id);
90
+ };
91
+ const hasTwin = id && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
82
92
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
83
93
  ref: ref,
84
94
  className: (0, _ui.styles)(style.preview, !showActions && style.withRadius)
@@ -117,18 +127,7 @@ const Preview = _ref => {
117
127
  brand: true,
118
128
  headline: true
119
129
  }, title), hasTwin && showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
120
- onPress: () => {
121
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
122
- id: 'TWIN_RATES:ITEM:TWIN'
123
- });
124
- _dataSources.Event.publish(_helpers.EVENT.EXTERNAL_TWIN, {
125
- event: _helpers.EVENT.EXTERNAL_TWIN
126
- });
127
- onViewUrl({
128
- title,
129
- url: "https://twin.mirai.com/rates/index.html?id=".concat(isHotel ? hotelId : hotel.id, "&room=").concat(others.id, "&lang=").concat(language)
130
- });
131
- }
130
+ onPress: handleTwin
132
131
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
133
132
  bold: true,
134
133
  small: true,
@@ -154,6 +153,7 @@ Preview.propTypes = {
154
153
  large: _propTypes.default.string,
155
154
  thumbnail: _propTypes.default.string
156
155
  })),
156
+ id: _propTypes.default.number,
157
157
  isSoldOut: _propTypes.default.bool,
158
158
  media: _propTypes.default.shape({
159
159
  url3D: _propTypes.default.string,
@@ -163,6 +163,7 @@ Preview.propTypes = {
163
163
  showActions: _propTypes.default.bool,
164
164
  width: _propTypes.default.number,
165
165
  onMoreInfo: _propTypes.default.func,
166
+ onTwin: _propTypes.default.func,
166
167
  onViewUrl: _propTypes.default.func
167
168
  };
168
169
  //# sourceMappingURL=Item.Preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","isSoldOut","media","name","title","showActions","width","propWidth","onMoreInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","useDevice","translate","useLocale","ref","useRef","value","finder","place","id","hotelId","isHotel","hotel","warningAvailability","language","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","styles","preview","withRadius","Slider","map","_ref2","large","undefined","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","small","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","Action","onPress","EXTERNAL_TWIN","event","url","concat","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Text, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n showActions = true,\n width: propWidth,\n onMoreInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {} } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n language,\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const hasTwin = others.id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={styles(style.preview, !showActions && style.withRadius)}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={showActions ? media : undefined}\n title={title}\n width={propWidth || memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline>\n {title}\n </Text>\n\n {hasTwin && showActions && (\n <Action\n onPress={() => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:ITEM:TWIN' });\n Event.publish(EVENT.EXTERNAL_TWIN, { event: EVENT.EXTERNAL_TWIN });\n onViewUrl({\n title,\n url: `https://twin.mirai.com/rates/index.html?id=${isHotel ? hotelId : hotel.id}&room=${\n others.id\n }&lang=${language}`,\n });\n }}\n >\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n {showActions && (\n <View row>\n <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n showActions: PropTypes.bool,\n width: PropTypes.number,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","id","isSoldOut","media","name","title","showActions","width","propWidth","onMoreInfo","onTwin","onViewUrl","others","height","isMobile","isPortrait","isTablet","useDevice","translate","useLocale","ref","useRef","value","finder","place","hotelId","isHotel","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","handleTwin","EXTERNAL_TWIN","event","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","styles","preview","withRadius","Slider","map","_ref2","large","undefined","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","small","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","Action","onPress","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Text, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n id,\n isSoldOut = false,\n media,\n name: title,\n showActions = true,\n width: propWidth,\n onMoreInfo,\n onTwin = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {} } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const handleTwin = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:ITEM:TWIN' });\n Event.publish(EVENT.EXTERNAL_TWIN, { event: EVENT.EXTERNAL_TWIN });\n onTwin(id);\n };\n\n const hasTwin = id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={styles(style.preview, !showActions && style.withRadius)}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={showActions ? media : undefined}\n title={title}\n width={propWidth || memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline>\n {title}\n </Text>\n\n {hasTwin && showActions && (\n <Action onPress={handleTwin}>\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n {showActions && (\n <View row>\n <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n showActions: PropTypes.bool,\n width: PropTypes.number,\n onMoreInfo: PropTypes.func,\n onTwin: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -123,7 +123,7 @@
123
123
 
124
124
  .card.standalone {
125
125
  flex-basis: 100%;
126
- max-width: calc(var(--mirai-ui-breakpoint-S) * 0.9);
126
+ width: calc(var(--mirai-ui-breakpoint-S) * 0.9);
127
127
  }
128
128
 
129
129
  .card .gap {
@@ -28,7 +28,7 @@ const ModalTwin = _ref => {
28
28
  dataSource,
29
29
  filters,
30
30
  priceFactor,
31
- visible,
31
+ selected,
32
32
  onClose = () => {},
33
33
  onFilter = () => {},
34
34
  onSelect = () => {},
@@ -64,7 +64,7 @@ const ModalTwin = _ref => {
64
64
  displayName
65
65
  } = _ref2;
66
66
  if (displayName !== ModalTwin.displayName) {
67
- visible && _dataSources.Event.publish(_helpers3.EVENT.MODAL_VISIBLE, {
67
+ selected && _dataSources.Event.publish(_helpers3.EVENT.MODAL_VISIBLE, {
68
68
  displayName: ModalTwin.displayName,
69
69
  visible: true
70
70
  });
@@ -72,7 +72,7 @@ const ModalTwin = _ref => {
72
72
  };
73
73
  _dataSources.Event.subscribe(_helpers3.EVENT.MODAL_VISIBLE, callback);
74
74
  return () => _dataSources.Event.unsubscribe(_helpers3.EVENT.MODAL_VISIBLE, callback);
75
- }, [visible]);
75
+ }, [selected]);
76
76
  (0, _react.useEffect)(() => {
77
77
  const callback = function () {
78
78
  let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -101,7 +101,7 @@ const ModalTwin = _ref => {
101
101
  (0, _react.useEffect)(() => {
102
102
  setExpanded();
103
103
  // eslint-disable-next-line react-hooks/exhaustive-deps
104
- }, [dataSource, visible]);
104
+ }, [dataSource, selected]);
105
105
  (0, _react.useEffect)(() => {
106
106
  if (!loaded) return;
107
107
  _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
@@ -109,7 +109,13 @@ const ModalTwin = _ref => {
109
109
  });
110
110
  setTimeout(() => {
111
111
  handleFilters();
112
- handleChange(0);
112
+ const selectedIndex = filteredItems.findIndex(function () {
113
+ let {
114
+ id
115
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
116
+ return id === selected;
117
+ });
118
+ handleChange(selectedIndex !== -1 ? selectedIndex : 0);
113
119
  }, 1500);
114
120
  // eslint-disable-next-line react-hooks/exhaustive-deps
115
121
  }, [loaded]);
@@ -235,7 +241,7 @@ const ModalTwin = _ref => {
235
241
  fit: true,
236
242
  preventDefault: false,
237
243
  title: translate(_ModalTwin.L10N.LABEL_IMMERSIVE_BOOKING),
238
- visible: visible,
244
+ visible: !!selected,
239
245
  onClose: handleClose,
240
246
  onOverflow: handleClose,
241
247
  className: style.modal
@@ -316,7 +322,7 @@ ModalTwin.propTypes = {
316
322
  dataSource: _propTypes.default.object,
317
323
  filters: _propTypes.default.object,
318
324
  priceFactor: _propTypes.default.number,
319
- visible: _propTypes.default.bool,
325
+ selected: _propTypes.default.number,
320
326
  onClose: _propTypes.default.func,
321
327
  onFilter: _propTypes.default.func,
322
328
  onSelect: _propTypes.default.func
@@ -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","visible","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","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","handleChange","selectedIndex","filteredItems","findIndex","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","bool","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 visible,\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 visible && 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 }, [visible]);\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, visible]);\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 handleChange(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={visible}\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 visible: PropTypes.bool,\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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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.303",
3
+ "version": "0.4.305",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",