@mirai/core 0.4.275 → 0.4.276
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/Item.Preview.js +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +3 -3
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
- package/package.json +1 -1
|
@@ -119,7 +119,7 @@ const Preview = _ref => {
|
|
|
119
119
|
}, title), hasTwin && showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
120
120
|
onPress: () => {
|
|
121
121
|
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
122
|
-
id: '
|
|
122
|
+
id: 'TWIN_RATES:ITEM:TWIN'
|
|
123
123
|
});
|
|
124
124
|
onViewUrl({
|
|
125
125
|
title,
|
|
@@ -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","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: 'RATES:ITEM: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 <View row>{showActions && <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>}</View>\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","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","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 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 <View row>{showActions && <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>}</View>\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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"}
|
|
@@ -105,7 +105,7 @@ const ModalTwin = _ref => {
|
|
|
105
105
|
(0, _react.useEffect)(() => {
|
|
106
106
|
if (!loaded) return;
|
|
107
107
|
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
108
|
-
id: '
|
|
108
|
+
id: 'TWIN_RATES:MODAL_TWIN:LOADED'
|
|
109
109
|
});
|
|
110
110
|
setTimeout(() => handleChange(0), 1500);
|
|
111
111
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -161,7 +161,7 @@ const ModalTwin = _ref => {
|
|
|
161
161
|
};
|
|
162
162
|
const handleClose = () => {
|
|
163
163
|
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
164
|
-
id: '
|
|
164
|
+
id: 'TWIN_RATES:MODAL_TWIN:CLOSE'
|
|
165
165
|
});
|
|
166
166
|
setSelectedId();
|
|
167
167
|
setLoaded();
|
|
@@ -170,7 +170,7 @@ const ModalTwin = _ref => {
|
|
|
170
170
|
const handleSelect = id => {
|
|
171
171
|
var _filteredItems$find;
|
|
172
172
|
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
173
|
-
id: '
|
|
173
|
+
id: 'TWIN_RATES:MODAL_TWIN:SELECT'
|
|
174
174
|
});
|
|
175
175
|
onSelect((_filteredItems$find = filteredItems.find(item => item.id === id)) === null || _filteredItems$find === void 0 ? void 0 : _filteredItems$find.boards[0]);
|
|
176
176
|
handleClose();
|
|
@@ -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","handleChange","_iframeRef$current","_iframeRef$current$co","keys","contentWindow","postMessage","rooms","filteredItems","filter","soldOut","map","soldOutRooms","selectedIndex","findIndex","index","_iframeRef$current2","_iframeRef$current2$c","handleClose","handleSelect","_filteredItems$find","find","item","boards","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","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: 'RATES:MODAL_TWIN:LOADED' });\n\n setTimeout(() => handleChange(0), 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\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 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 setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = () => {\n Event.publish(EVENT.METRICS, { id: 'RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n onClose();\n };\n\n const handleSelect = (id) => {\n Event.publish(EVENT.METRICS, { id: 'RATES:MODAL_TWIN:SELECT' });\n\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\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 {...dataSource} {...{ values: filters, priceFactor }} onSubmit={onFilter} />\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}>\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","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","handleChange","_iframeRef$current","_iframeRef$current$co","keys","contentWindow","postMessage","rooms","filteredItems","filter","soldOut","map","soldOutRooms","selectedIndex","findIndex","index","_iframeRef$current2","_iframeRef$current2$c","handleClose","handleSelect","_filteredItems$find","find","item","boards","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","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(() => handleChange(0), 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\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 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 setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n onClose();\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();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\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 {...dataSource} {...{ values: filters, priceFactor }} onSubmit={onFilter} />\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}>\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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"}
|