@mirai/core 0.4.321 → 0.4.322

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.
@@ -233,7 +233,8 @@ const ModalTwin = _ref => {
233
233
  hotelId,
234
234
  isHotel,
235
235
  items,
236
- language
236
+ language,
237
+ variant
237
238
  }),
238
239
  // eslint-disable-next-line react-hooks/exhaustive-deps
239
240
  [hotel, hotelId, isHotel, language]);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","value","finder","place","id","hotelId","isHotel","hotel","language","variant","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","isLoaded","roomId","origin","process","env","TWIN_URL","console","log","debounceSelectId","setTimeout","_itemsRef$current$sel","current","offsetTop","window","addEventListener","removeEventListener","METRICS","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","fromMap","contentWindow","postMessage","handleClose","metrics","_iframeRef$current2","_iframeRef$current2$c","keys","rooms","filter","soldOut","map","soldOutRooms","handleOpenFilter","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","Number","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onOpen","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useMemo } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const {\n value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel = {}, language, variant } = {},\n } = useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n const { data: { isLoaded, roomId } = {}, origin } = event;\n if (origin !== process.env.TWIN_URL) return;\n\n // eslint-disable-next-line no-console\n console.log('Mensaje recibido:', event);\n\n debounceSelectId(roomId);\n\n if (isLoaded) setLoaded(true);\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:LOADED' });\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: false });\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = (metrics = true) => {\n metrics && Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleOpenFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:OPEN_FILTER' });\n };\n\n const handleSelect = (id) => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SELECT' });\n\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SUBMIT_FILTER' });\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: true });\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor }, variant)?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters\n {...dataSource}\n {...{ values: filters, priceFactor, ...others }}\n onOpen={handleOpenFilter}\n onSubmit={handleSubmitFilter}\n />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAGA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AAAqC,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAArB,uBAAAiC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAErC,MAAMK,SAAS,GAAGC,IAAA,IASZ;EAAA,IAAAC,OAAA;EAAA,IATa;IACjBC,UAAU;IACVC,OAAO;IACPC,WAAW;IACXC,QAAQ;IACRC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE;UAAEC;QAAQ,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAG,CAAC;EAC5G,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAAC,CAAC;EAC1B,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,EAAE,CAAC;EAE3B,MAAM,CAACE,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACtC,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAE9C,IAAAO,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGC,KAAA,IAAqB;MAAA,IAApB;QAAEC;MAAY,CAAC,GAAAD,KAAA;MAC/B,IAAIC,WAAW,KAAKxC,SAAS,CAACwC,WAAW,EAAE;QACzClC,QAAQ,IAAImC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;UAAEJ,WAAW,EAAExC,SAAS,CAACwC,WAAW;UAAEK,OAAO,EAAE;QAAK,CAAC,CAAC;MACvG;IACF,CAAC;IAEDJ,kBAAK,CAACK,SAAS,CAACH,eAAK,CAACC,aAAa,EAAEN,QAAQ,CAAC;IAC9C,OAAO,MAAMG,kBAAK,CAACM,WAAW,CAACJ,eAAK,CAACC,aAAa,EAAEN,QAAQ,CAAC;EAC/D,CAAC,EAAE,CAAChC,QAAQ,CAAC,CAAC;EAEd,IAAA+B,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAG,SAAAA,CAAA,EAAgB;MAAA,IAAfU,KAAK,GAAArD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;MAC1B,MAAM;QAAEuD,IAAI,EAAE;UAAEC,QAAQ;UAAEC;QAAO,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAO,CAAC,GAAGL,KAAK;MACzD,IAAIK,MAAM,KAAKC,OAAO,CAACC,GAAG,CAACC,QAAQ,EAAE;;MAErC;MACAC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEV,KAAK,CAAC;MAEvCW,gBAAgB,CAACP,MAAM,CAAC;MAExB,IAAID,QAAQ,EAAEnB,SAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,CAACnB,QAAQ,IAAIsB,UAAU,EAAEyB,UAAU,CAAC;MAAA,IAAAC,qBAAA;MAAA,OAAM3B,WAAW,CAAC,EAAA2B,qBAAA,GAAAlC,QAAQ,CAACmC,OAAO,CAAC3B,UAAU,CAAC,cAAA0B,qBAAA,uBAA5BA,qBAAA,CAA8BE,SAAS,IAAG,EAAE,CAAC;IAAA,GAAE,GAAG,CAAC;IAE7GC,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE3B,QAAQ,CAAC;IAE5C,OAAO,MAAM0B,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAE5B,QAAQ,CAAC;IAC5D;EACF,CAAC,EAAE,CAACH,UAAU,CAAC,CAAC;EAEhB,IAAAE,gBAAS,EAAC,MAAM;IACdR,WAAW,CAAC,CAAC;IACb;EACF,CAAC,EAAE,CAAC1B,UAAU,EAAEG,QAAQ,CAAC,CAAC;EAE1B,IAAA+B,gBAAS,EAAC,MAAM;IACd,IAAI,CAACN,MAAM,EAAE;IAEbU,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA+B,CAAC,CAAC;IAEpE0C,UAAU,CAAC,MAAM;MACfQ,aAAa,CAAC,CAAC;MAEf,MAAMC,aAAa,GAAGC,aAAa,CAACC,SAAS,CAAC;QAAA,IAAC;UAAErD;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE,KAAKZ,QAAQ;MAAA,EAAC;MAC/EkE,YAAY,CAACH,aAAa,KAAK,CAAC,CAAC,GAAGA,aAAa,GAAG,CAAC,CAAC;IACxD,CAAC,EAAE,IAAI,CAAC;IACR;EACF,CAAC,EAAE,CAACtC,MAAM,CAAC,CAAC;EAEZ,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC+B,aAAa,CAAC,CAAC,EAAE;IAEtB,MAAMC,aAAa,GAAGC,aAAa,CAACC,SAAS,CAAC;MAAA,IAAC;QAAErD;MAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKuB,EAAE,KAAKiB,UAAU;IAAA,EAAC;IACjF,IAAIkC,aAAa,KAAK,CAAC,CAAC,EAAEG,YAAY,CAAC,CAAC,CAAC;IACzC;EACF,CAAC,EAAE,CAACpE,OAAO,CAAC,CAAC;EAEb,MAAMoE,YAAY,GAAIC,KAAK,IAAK;IAC9B,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,KAAKJ,aAAa,IAAII,KAAK,IAAIH,aAAa,CAAC1E,MAAM,EAAE;IAE3E,MAAM;MAAEsB;IAAG,CAAC,GAAGoD,aAAa,CAACG,KAAK,CAAC;IACnC,IAAIvD,EAAE,KAAKiB,UAAU,EAAE;MAAA,IAAAuC,kBAAA,EAAAC,qBAAA;MACrBlC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;QAAEjD,EAAE,EAAE,mCAAmC;QAAE0D,OAAO,EAAE;MAAM,CAAC,CAAC;MACzFxC,aAAa,CAAClB,EAAE,CAAC;MACjBO,SAAS,aAATA,SAAS,wBAAAiD,kBAAA,GAATjD,SAAS,CAAEqC,OAAO,cAAAY,kBAAA,wBAAAC,qBAAA,GAAlBD,kBAAA,CAAoBG,aAAa,cAAAF,qBAAA,uBAAjCA,qBAAA,CAAmCG,WAAW,CAAC;QAAE1B,MAAM,EAAElC;MAAG,CAAC,EAAEoC,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;IACtF;EACF,CAAC;EAED,MAAMuB,WAAW,GAAG,SAAAA,CAAA,EAAoB;IAAA,IAAnBC,OAAO,GAAArF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,IAAI;IACjCqF,OAAO,IAAIvC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA8B,CAAC,CAAC;IAE9EkB,aAAa,CAAC,CAAC;IACfJ,SAAS,CAAC,CAAC;IACXH,WAAW,CAAC,CAAC;IACbK,WAAW,CAAC,CAAC;IACb3B,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM6D,aAAa,GAAGA,CAAA,KAAM;IAAA,IAAAa,mBAAA,EAAAC,qBAAA;IAC1B,IAAI,CAAC9E,OAAO,IAAIvB,MAAM,CAACsG,IAAI,CAAC/E,OAAO,CAAC,CAACR,MAAM,KAAK,CAAC,EAAE;IAEnD6B,SAAS,aAATA,SAAS,wBAAAwD,mBAAA,GAATxD,SAAS,CAAEqC,OAAO,cAAAmB,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAoBJ,aAAa,cAAAK,qBAAA,uBAAjCA,qBAAA,CAAmCJ,WAAW,CAC5C;MACEM,KAAK,EAAEd,aAAa,CAACe,MAAM,CAAC;QAAA,IAAC;UAAEC;QAAQ,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,CAAC2F,OAAO;MAAA,EAAC,CAACC,GAAG,CAAC;QAAA,IAAC;UAAErE;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE;MAAA,EAAC;MACpFsE,YAAY,EAAElB,aAAa,CAACe,MAAM,CAAC;QAAA,IAAC;UAAEC;QAAQ,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK2F,OAAO;MAAA,EAAC,CAACC,GAAG,CAAC;QAAA,IAAC;UAAErE;QAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKuB,EAAE;MAAA;IAC3F,CAAC,EACDoC,OAAO,CAACC,GAAG,CAACC,QACd,CAAC;EACH,CAAC;EAED,MAAMiC,gBAAgB,GAAGA,CAAA,KAAM;IAC7BhD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAAoC,CAAC,CAAC;EAC3E,CAAC;EAED,MAAMwE,YAAY,GAAIxE,EAAE,IAAK;IAAA,IAAAyE,mBAAA;IAC3BlD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAA+B,CAAC,CAAC;IAEpET,QAAQ,EAAAkF,mBAAA,GAACrB,aAAa,CAACsB,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC3E,EAAE,KAAKA,EAAE,CAAC,cAAAyE,mBAAA,uBAA5CA,mBAAA,CAA8CG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjEf,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMgB,kBAAkB,GAAGA,CAAA,KAAM;IAC/BtD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;MAAEjD,EAAE,EAAE;IAAsC,CAAC,CAAC;IAC3EV,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,MAAMmD,gBAAgB,GAAG,IAAAqC,kBAAQ,EAAE5C,MAAM,IAAK;IAC5C,IAAIA,MAAM,IAAI6C,MAAM,CAAC7C,MAAM,CAAC,KAAKjB,UAAU,EAAE;MAC3CM,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACwB,OAAO,EAAE;QAAEjD,EAAE,EAAE,mCAAmC;QAAE0D,OAAO,EAAE;MAAK,CAAC,CAAC;MACxFxC,aAAa,CAAC6D,MAAM,CAAC7C,MAAM,CAAC,CAAC;IAC/B;EACF,CAAC,CAAC;EAEF,MAAM;IAAE8C,KAAK,GAAG;EAAG,CAAC,GAAG/F,UAAU,IAAI,CAAC,CAAC;EACvC,MAAMmE,aAAa,GACjB,EAAApE,OAAA,OAAAiG,gBAAM,EAACD,KAAK,EAAE9F,OAAO,EAAE;IAAEC;EAAY,CAAC,EAAEkB,OAAO,CAAC,cAAArB,OAAA,uBAAhDA,OAAA,CAAkDqF,GAAG,CAAEM,IAAI,IAAK,IAAAO,oBAAU,EAACP,IAAI,EAAEzF,OAAO,EAAEC,WAAW,CAAC,CAAC,KAAI,EAAE;EAC/G,MAAMgE,aAAa,GAAGlC,UAAU,GAAGmC,aAAa,CAACC,SAAS,CAAC;IAAA,IAAC;MAAErD;IAAG,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKuB,EAAE,KAAKiB,UAAU;EAAA,EAAC,GAAGc,SAAS;EAC1G,MAAMoD,GAAG,GAAG,IAAAC,cAAO,EACjB,MAAM,IAAAC,eAAM,EAAC;IAAEjC,aAAa;IAAEjD,KAAK;IAAEF,OAAO;IAAEC,OAAO;IAAE8E,KAAK;IAAE5E;EAAS,CAAC,CAAC;EACzE;EACA,CAACD,KAAK,EAAEF,OAAO,EAAEC,OAAO,EAAEE,QAAQ,CACpC,CAAC;EAED,oBACEhE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAsJ,KAAK,EAAAlH,QAAA,KACAmB,MAAM;IACV8B,WAAW,EAAExC,SAAS,CAACwC,WAAY;IACnCkE,GAAG;IACHC,cAAc,EAAE,KAAM;IACtBC,KAAK,EAAEjG,SAAS,CAACkG,eAAI,CAACC,uBAAuB,CAAE;IAC/CjE,OAAO,EAAE,CAAC,CAACvC,QAAS;IACpBC,OAAO,EAAEwE,WAAY;IACrBgC,UAAU,EAAEhC,WAAY;IACxBiC,SAAS,EAAErJ,KAAK,CAACsJ;EAAM,iBAEtBC,cAAK,CAACV,aAAa,CAClB3F,QAAQ,GAAGqG,cAAK,CAACC,QAAQ,GAAGC,QAAI,EAChC,CAACvG,QAAQ,GAAG;IAAEmG,SAAS,EAAErJ,KAAK,CAAC0J,SAAS;IAAEC,GAAG,EAAE;EAAK,CAAC,GAAGrE,SAAS,eACjE3F,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAAlJ,MAAA,CAAAiB,OAAA,CAAA4I,QAAA,QACG,CAACtG,QAAQ,KACPkB,MAAM,gBACLzE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACJ,SAAS,EAAErJ,KAAK,CAAC4J;EAAM,gBAC3BjK,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAqK,UAAU;IACTC,UAAU,EAAE,KAAM;IAClBC,eAAe;IACfzF,QAAQ,EAAEA,QAAS;IACnB0F,IAAI,EAAE,KAAM;IACZX,SAAS,EAAErJ,KAAK,CAACiK;EAAW,GAE3BtD,aAAa,CAACiB,GAAG,CAAC;IAAA,IAACM,IAAI,GAAAlG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE8E,KAAK,GAAA9E,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsD,SAAA;IAAA,oBAClC3F,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;MAACtH,GAAG,EAAE+F,IAAI,CAAC3E,EAAG;MAAC2G,GAAG,EAAGC,EAAE,IAAMnG,QAAQ,CAACmC,OAAO,CAAC+B,IAAI,CAAC3E,EAAE,CAAC,GAAG4G;IAAI,GAC/D3F,UAAU,KAAK0D,IAAI,CAAC3E,EAAE,gBACrB5D,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAuK,YAAY,EAAAxI,QAAA;MACLsG,IAAI;MAAExF;IAAW,GAAKK,MAAM;MAClCD,QAAQ,EAAEiF,YAAa;MACvBsB,SAAS,EAAE,IAAAgB,UAAM,EAACrK,KAAK,CAACsK,IAAI;IAAE,EAC/B,CAAC,gBAEF3K,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAA0K,WAAW,EAAA3I,QAAA;MAAOsG,IAAI;MAAExF;IAAW,GAAKK,MAAM;MAAIyH,OAAO,EAAEA,CAAA,KAAM3D,YAAY,CAACC,KAAK;IAAE,EAAE,CAEtF,CAAC;EAAA,CACR,CACS,CACR,CAAC,gBAEPnH,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAC5I,WAAA,CAAAwK,iBAAiB,MAAE,CACrB,CAAC,eACJ9K,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACiB,GAAG,EAAC,QAAQ;IAACR,GAAG,EAAEpG,SAAU;IAAC6G,GAAG,EAAEjC,GAAI;IAACO,KAAK,EAAC,OAAO;IAACI,SAAS,EAAErJ,KAAK,CAAC4K;EAAO,CAAE,CACrF,CACJ,CAAC,EAEAxG,MAAM,iBACLzE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;IAACJ,SAAS,EAAErJ,KAAK,CAACyC;EAAQ,gBAC7B9C,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACxI,QAAA,CAAAwK,OAAO,EAAAjJ,QAAA,KACFY,UAAU;IACRsI,MAAM,EAAErI,OAAO;IAAEC;EAAW,GAAKK,MAAM;IAC7CgI,MAAM,EAAEjD,gBAAiB;IACzBkD,QAAQ,EAAE5C;EAAmB,EAC9B,CACG,CACP,EAEAhE,MAAM,IAAII,UAAU,KAAKc,SAAS,IAAIpC,QAAQ,iBAC7CvD,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAoL,MAAM;IAACnE,KAAK,EAAEJ,aAAc;IAACwE,QAAQ,EAAErE,YAAa;IAACwC,SAAS,EAAE,CAACpF,QAAQ,IAAIjE,KAAK,CAACmL;EAAQ,GACzFxE,aAAa,CAACiB,GAAG,CAAC,YAAsB;IAAA,IAArBM,IAAI,GAAAlG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsD,SAAA,GAAAtD,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE8E,KAAK,GAAA9E,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsD,SAAA;IAClC,MAAM8F,IAAI,GAAGtE,KAAK,KAAKH,aAAa,CAAC1E,MAAM,GAAG,CAAC;IAE/C,oBACEtC,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAACrJ,GAAA,CAAAiK,IAAI;MAACtH,GAAG,EAAE+F,IAAI,CAAC3E,EAAG;MAAC8F,SAAS,EAAErJ,KAAK,CAACkI;IAAK,gBACxCvI,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAA0K,WAAW,EAAA3I,QAAA;MACJsG,IAAI;MAAEkD,IAAI;MAAE1I;IAAW,GAAKK,MAAM;MACxCmC,OAAO,EAAE,CAACjB,QAAS;MACnBuG,OAAO,EAAEA,CAAA,KAAM,CAACvG,QAAQ,IAAIC,WAAW,CAAC,IAAI;IAAE,EAC/C,CAAC,eACFvE,MAAA,CAAAiB,OAAA,CAAAiI,aAAA,CAAChJ,WAAA,CAAAuK,YAAY,EAAAxI,QAAA;MACLsG,IAAI;MAAEkD,IAAI;MAAE1I;IAAW,GAAKK,MAAM;MACxCmC,OAAO,EAAEjB,QAAS;MAClBoH,QAAQ,EAAEA,CAAA,KAAMnH,WAAW,CAAC,KAAK,CAAE;MACnCpB,QAAQ,EAAEiF;IAAa,EACxB,CACG,CAAC;EAEX,CAAC,CACK,CAEL,CAAC;AAEZ,CAAC;AAACuD,OAAA,CAAAjJ,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACkJ,SAAS,GAAG;EACpB/I,UAAU,EAAEgJ,kBAAS,CAACC,MAAM;EAC5BhJ,OAAO,EAAE+I,kBAAS,CAACC,MAAM;EACzB/I,WAAW,EAAE8I,kBAAS,CAACE,MAAM;EAC7B/I,QAAQ,EAAE6I,kBAAS,CAACE,MAAM;EAC1B9I,OAAO,EAAE4I,kBAAS,CAACG,IAAI;EACvB9I,QAAQ,EAAE2I,kBAAS,CAACG,IAAI;EACxB7I,QAAQ,EAAE0I,kBAAS,CAACG;AACtB,CAAC;AAEDtJ,SAAS,CAACwC,WAAW,GAAG,4BAA4B"}
1
+ {"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","value","finder","place","id","hotelId","isHotel","hotel","language","variant","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","isLoaded","roomId","origin","process","env","TWIN_URL","console","log","debounceSelectId","setTimeout","_itemsRef$current$sel","current","offsetTop","window","addEventListener","removeEventListener","METRICS","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","fromMap","contentWindow","postMessage","handleClose","metrics","_iframeRef$current2","_iframeRef$current2$c","keys","rooms","filter","soldOut","map","soldOutRooms","handleOpenFilter","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","Number","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onOpen","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useMemo } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const {\n value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel = {}, language, variant } = {},\n } = useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n const { data: { isLoaded, roomId } = {}, origin } = event;\n if (origin !== process.env.TWIN_URL) return;\n\n // eslint-disable-next-line no-console\n console.log('Mensaje recibido:', event);\n\n debounceSelectId(roomId);\n\n if (isLoaded) setLoaded(true);\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:LOADED' });\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: false });\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = (metrics = true) => {\n metrics && Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CLOSE' });\n\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleOpenFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:OPEN_FILTER' });\n };\n\n const handleSelect = (id) => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SELECT' });\n\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:SUBMIT_FILTER' });\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n Event.publish(EVENT.METRICS, { id: 'TWIN_RATES:MODAL_TWIN:CHANGE_ROOM', fromMap: true });\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor }, variant)?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language, variant }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters\n {...dataSource}\n {...{ values: filters, priceFactor, ...others }}\n onOpen={handleOpenFilter}\n onSubmit={handleSubmitFilter}\n />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\n"],"mappings":"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"}
@@ -11,7 +11,8 @@ const getUrl = _ref => {
11
11
  hotelId,
12
12
  isHotel,
13
13
  items,
14
- language
14
+ language,
15
+ variant
15
16
  } = _ref;
16
17
  if (!filteredItems || !hotel || !items || !language) return;
17
18
  const rooms = filteredItems.filter(function () {
@@ -25,7 +26,7 @@ const getUrl = _ref => {
25
26
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
27
  return id;
27
28
  });
28
- const soldOutRooms = items.filter(function () {
29
+ const soldOutRooms = variant !== 'B' ? items.filter(function () {
29
30
  let {
30
31
  soldOut
31
32
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -35,7 +36,7 @@ const getUrl = _ref => {
35
36
  id
36
37
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
37
38
  return id;
38
- });
39
+ }) : [];
39
40
  const params = {
40
41
  id: isHotel ? hotelId : hotel.id,
41
42
  lang: language,
@@ -1 +1 @@
1
- {"version":3,"file":"getUrl.js","names":["getUrl","_ref","filteredItems","hotel","hotelId","isHotel","items","language","rooms","filter","soldOut","arguments","length","undefined","map","id","soldOutRooms","params","lang","origin","window","location","concat","process","env","TWIN_URL","URLSearchParams","Object","entries","exports"],"sources":["../../../../../../src/components/Rates/components/ModalTwin/helpers/getUrl.js"],"sourcesContent":["export const getUrl = ({ filteredItems, hotel, hotelId, isHotel, items, language }) => {\n if (!filteredItems || !hotel || !items || !language) return;\n const rooms = filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id);\n const soldOutRooms = items.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id);\n const params = {\n id: isHotel ? hotelId : hotel.id,\n lang: language,\n origin: window.location.origin,\n ...(rooms.length ? { rooms } : undefined),\n ...(soldOutRooms.length ? { soldOutRooms } : undefined),\n };\n\n return `${process.env.TWIN_URL}/rates/index.html?${new URLSearchParams(Object.entries(params))}`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAM,GAAGC,IAAA,IAAiE;EAAA,IAAhE;IAAEC,aAAa;IAAEC,KAAK;IAAEC,OAAO;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAAN,IAAA;EAChF,IAAI,CAACC,aAAa,IAAI,CAACC,KAAK,IAAI,CAACG,KAAK,IAAI,CAACC,QAAQ,EAAE;EACrD,MAAMC,KAAK,GAAGN,aAAa,CAACO,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAACD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EAC3F,MAAMC,YAAY,GAAGV,KAAK,CAACG,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EACzF,MAAME,MAAM,GAAG;IACbF,EAAE,EAAEV,OAAO,GAAGD,OAAO,GAAGD,KAAK,CAACY,EAAE;IAChCG,IAAI,EAAEX,QAAQ;IACdY,MAAM,EAAEC,MAAM,CAACC,QAAQ,CAACF,MAAM;IAC9B,IAAIX,KAAK,CAACI,MAAM,GAAG;MAAEJ;IAAM,CAAC,GAAGK,SAAS,CAAC;IACzC,IAAIG,YAAY,CAACJ,MAAM,GAAG;MAAEI;IAAa,CAAC,GAAGH,SAAS;EACxD,CAAC;EAED,UAAAS,MAAA,CAAUC,OAAO,CAACC,GAAG,CAACC,QAAQ,wBAAAH,MAAA,CAAqB,IAAII,eAAe,CAACC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,CAAC;AAChG,CAAC;AAACY,OAAA,CAAA7B,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"file":"getUrl.js","names":["getUrl","_ref","filteredItems","hotel","hotelId","isHotel","items","language","variant","rooms","filter","soldOut","arguments","length","undefined","map","id","soldOutRooms","params","lang","origin","window","location","concat","process","env","TWIN_URL","URLSearchParams","Object","entries","exports"],"sources":["../../../../../../src/components/Rates/components/ModalTwin/helpers/getUrl.js"],"sourcesContent":["export const getUrl = ({ filteredItems, hotel, hotelId, isHotel, items, language, variant }) => {\n if (!filteredItems || !hotel || !items || !language) return;\n const rooms = filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id);\n const soldOutRooms = variant !== 'B' ? items.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id) : [];\n const params = {\n id: isHotel ? hotelId : hotel.id,\n lang: language,\n origin: window.location.origin,\n ...(rooms.length ? { rooms } : undefined),\n ...(soldOutRooms.length ? { soldOutRooms } : undefined),\n };\n\n return `${process.env.TWIN_URL}/rates/index.html?${new URLSearchParams(Object.entries(params))}`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAM,GAAGC,IAAA,IAA0E;EAAA,IAAzE;IAAEC,aAAa;IAAEC,KAAK;IAAEC,OAAO;IAAEC,OAAO;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAAP,IAAA;EACzF,IAAI,CAACC,aAAa,IAAI,CAACC,KAAK,IAAI,CAACG,KAAK,IAAI,CAACC,QAAQ,EAAE;EACrD,MAAME,KAAK,GAAGP,aAAa,CAACQ,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAACD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC;EAC3F,MAAMC,YAAY,GAAGT,OAAO,KAAK,GAAG,GAAGF,KAAK,CAACI,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKD,OAAO;EAAA,EAAC,CAACI,GAAG,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE;EAAA,EAAC,GAAG,EAAE;EAChH,MAAME,MAAM,GAAG;IACbF,EAAE,EAAEX,OAAO,GAAGD,OAAO,GAAGD,KAAK,CAACa,EAAE;IAChCG,IAAI,EAAEZ,QAAQ;IACda,MAAM,EAAEC,MAAM,CAACC,QAAQ,CAACF,MAAM;IAC9B,IAAIX,KAAK,CAACI,MAAM,GAAG;MAAEJ;IAAM,CAAC,GAAGK,SAAS,CAAC;IACzC,IAAIG,YAAY,CAACJ,MAAM,GAAG;MAAEI;IAAa,CAAC,GAAGH,SAAS;EACxD,CAAC;EAED,UAAAS,MAAA,CAAUC,OAAO,CAACC,GAAG,CAACC,QAAQ,wBAAAH,MAAA,CAAqB,IAAII,eAAe,CAACC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,CAAC;AAChG,CAAC;AAACY,OAAA,CAAA9B,MAAA,GAAAA,MAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.321",
3
+ "version": "0.4.322",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",