@mirai/core 0.4.277 → 0.4.278

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.
@@ -38,7 +38,6 @@ const Header = _ref => {
38
38
  const {
39
39
  value: {
40
40
  finder: {
41
- occupation = [],
42
41
  place: {
43
42
  id: [hotelId] = [],
44
43
  isHotel
@@ -59,7 +58,7 @@ const Header = _ref => {
59
58
  items = []
60
59
  } = dataSource;
61
60
  const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;
62
- const twin = occupation.length === 1 && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN_RATES, isHotel ? hotelId : hotel.id);
61
+ const twin = items.length > 0 && !multiRoom && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
63
62
  return children || hasHotelverse || hotels.length > 1 || twin ? /*#__PURE__*/_react.default.createElement(_ui.View, {
64
63
  row: true,
65
64
  className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
@@ -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","occupation","place","id","hotelId","isHotel","hotel","useStore","contentBackground","Theme","hotelverse","hash","token","hotels","items","hasHotelverse","undefined","twin","ServiceFeatures","FEATURES","TWIN_RATES","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 { 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 { 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: { occupation = [], place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel } = {} } =\n useStore();\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 = occupation.length === 1 && ServiceFeatures.get(FEATURES.TWIN_RATES, 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={() => onTwin(true)} 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":["_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","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 { 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 { 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 { 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={() => onTwin(true)} 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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"}
@@ -32,8 +32,7 @@ const FEATURES = exports.FEATURES = {
32
32
  SHOW_PRICE_INCREMENTS: 'showPriceIncrements',
33
33
  SHOW_PRICE_PER_NIGHT: 'showPricePerNight',
34
34
  SHOW_RATE_INCLUDED: 'showRateIncluded',
35
- TWIN: 'twin',
36
- TWIN_RATES: 'twinRates'
35
+ TWIN: 'twin'
37
36
  };
38
37
  const FREE_CANCELLATION = exports.FREE_CANCELLATION = 'free';
39
38
  const MAX_PROMOCODE = exports.MAX_PROMOCODE = {
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","TWIN_RATES","FREE_CANCELLATION","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n TWIN_RATES: 'twinRates',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,iBAAiB,GAAA3B,OAAA,CAAA2B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA/B,OAAA,CAAA+B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAnC,OAAA,CAAAmC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
1
+ {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,aAAa,GAAA3B,OAAA,CAAA2B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA9B,OAAA,CAAA8B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAlC,OAAA,CAAAkC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
@@ -133,9 +133,9 @@ const Preview = _ref => {
133
133
  }, "3D"), translate(_Item.L10N.LABEL_MIRAI_TWIN)), /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
134
134
  highlight: true,
135
135
  preview: true
136
- }, others)), /*#__PURE__*/_react.default.createElement(_ui.View, {
136
+ }, others)), showActions && /*#__PURE__*/_react.default.createElement(_ui.View, {
137
137
  row: true
138
- }, showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
138
+ }, /*#__PURE__*/_react.default.createElement(_ui.Action, {
139
139
  onPress: onMoreInfo
140
140
  }, translate(_Item.L10N.ACTION_MORE_INFO)))));
141
141
  };
@@ -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: '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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AAAiD,SAAAa,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,SAAAP,wBAAAO,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,SAAAjB,uBAAA6B,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;AAEjD,MAAMK,UAAU,GAAG,CAAC;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,IAAIC,aAAa,GAAG,GAAG;AAEvB,MAAMC,OAAO,GAAGC,IAAA,IAYV;EAAA,IAZW;IACfC,YAAY,GAAG,CAAC;IAChBC,QAAQ,EAAE;MAAEC,UAAU,GAAG,KAAK;MAAE,GAAGD;IAAS,CAAC,GAAG,CAAC,CAAC;IAClDE,MAAM,GAAG,EAAE;IACXC,SAAS,GAAG,KAAK;IACjBC,KAAK;IACLC,IAAI,EAAEC,KAAK;IACXC,WAAW,GAAG,IAAI;IAClBC,KAAK,EAAEC,SAAS;IAChBC,UAAU;IACVC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IACpB,GAAGC;EACL,CAAC,GAAAd,IAAA;EACC,MAAM;IAAEe,MAAM;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAER;EAAM,CAAC,GAAG,IAAAS,aAAS,EAAC,CAAC;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE;UAAEC;QAAQ,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAC5DC,KAAK,EAAE;QAAEC,mBAAmB,GAAG,IAAI;QAAE,GAAGD;MAAM,CAAC,GAAG,CAAC,CAAC;MACpDE;IACF,CAAC,GAAG,CAAC;EACP,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC;IAAY,CAAC,GAAGb,GAAG,CAACc,OAAO,IAAI,CAAC,CAAC;IACzC,IAAID,WAAW,IAAI,CAACxB,SAAS,EAAEb,aAAa,GAAGqC,WAAW,IAAIjB,QAAQ,GAAGtB,UAAU,GAAGC,cAAc,CAAC;IACrG;EACF,CAAC,EAAE,CAACqB,QAAQ,EAAER,KAAK,CAAC,CAAC;EAErB,MAAM2B,mBAAmB,GAAGA,CAAA,KAAM;IAChCzB,UAAU,IAAIA,UAAU,CAAC,CAAC;IAC1B0B,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEd,EAAE,EAAE;IAA4B,CAAC,CAAC;EACnE,CAAC;EAED,MAAMe,OAAO,GAAG5B,MAAM,CAACa,EAAE,IAAIgB,yBAAe,CAACtE,GAAG,CAACuE,eAAQ,CAACC,IAAI,EAAEhB,OAAO,GAAGD,OAAO,GAAGE,KAAK,CAACH,EAAE,CAAC;EAE7F,oBACErE,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA4F,IAAI;IAACzB,GAAG,EAAEA,GAAI;IAAC0B,SAAS,EAAE,IAAAC,UAAM,EAACvF,KAAK,CAACwF,OAAO,EAAE,CAACzC,WAAW,IAAI/C,KAAK,CAACyF,UAAU;EAAE,gBACjF7F,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAACtF,WAAA,CAAA4F,MAAM;IACLrC,MAAM,EAAEZ,UAAU,GAAGY,MAAM,IAAIE,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI;IACzDb,MAAM,EAAEA,MAAM,CAACiD,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC;MAAM,CAAC,GAAAD,KAAA;MAAA,OAAKC,KAAK;IAAA,EAAE;IACzCjD,KAAK,EAAEG,WAAW,GAAGH,KAAK,GAAGkD,SAAU;IACvChD,KAAK,EAAEA,KAAM;IACbE,KAAK,EAAEC,SAAS,IAAIb,aAAc;IAClC2D,SAAS,EAAE,CAACzC,QAAQ,GAAGqB,mBAAmB,GAAGmB,SAAU;IACvD3C,SAAS,EAAEA,SAAU;IACrBmC,SAAS,EAAEtF,KAAK,CAACgG;EAAO,CACzB,CAAC,eAEFpG,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA4F,IAAI;IAACY,GAAG;IAACX,SAAS,EAAE,CAACtF,KAAK,CAACkG,MAAM,EAAElG,KAAK,CAACmG,YAAY,EAAEnG,KAAK,CAACoG,OAAO;EAAE,gBACrExG,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAACtF,WAAA,CAAAuG,QAAQ,EAAA5E,QAAA;IAAOe;EAAQ,GAAKY,MAAM,CAAK,CAAC,EAExCT,SAAS,KAAK,KAAK,IAAIJ,YAAY,IAAI8B,mBAAmB,iBACzDzE,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA6G,IAAI;IAACC,IAAI;IAACC,KAAK;IAACC,KAAK;EAAA,GACnB/C,SAAS,CAACgD,UAAI,CAACC,qBAAqB,EAAE;IAAEC,MAAM,EAAErE;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEP3C,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA4F,IAAI;IAACC,SAAS,EAAE,CAACtF,KAAK,CAACkG,MAAM,EAAElG,KAAK,CAAC6G,GAAG,CAAE;IAAC7G,KAAK,EAAE;MAAE8G,IAAI,EAAE;IAAE;EAAE,gBAC7DlH,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA6G,IAAI;IAACC,IAAI;IAACQ,KAAK;IAACC,QAAQ;EAAA,GACtBlE,KACG,CAAC,EAENkC,OAAO,IAAIjC,WAAW,iBACrBnD,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAAwH,MAAM;IACLC,OAAO,EAAEA,CAAA,KAAM;MACbtC,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;QAAEd,EAAE,EAAE;MAAuB,CAAC,CAAC;MAC5Dd,SAAS,CAAC;QACRL,KAAK;QACLqE,GAAG,gDAAAC,MAAA,CAAgDjD,OAAO,GAAGD,OAAO,GAAGE,KAAK,CAACH,EAAE,YAAAmD,MAAA,CAC7EhE,MAAM,CAACa,EAAE,YAAAmD,MAAA,CACF9C,QAAQ;MACnB,CAAC,CAAC;IACJ;EAAE,gBAEF1E,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA6G,IAAI;IAACC,IAAI;IAACE,KAAK;IAACnB,SAAS,EAAEtF,KAAK,CAACqH;EAAM,GAAC,IAEnC,CAAC,EACN3D,SAAS,CAACgD,UAAI,CAACY,gBAAgB,CAC1B,CACT,eAED1H,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAACtF,WAAA,CAAAyH,SAAS,EAAA9F,QAAA;IAAC+F,SAAS;IAAChC,OAAO;EAAA,GAAKpC,MAAM,CAAG,CAAC,eAE3CxD,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAA4F,IAAI;IAACY,GAAG;EAAA,GAAElD,WAAW,iBAAInD,MAAA,CAAAa,OAAA,CAAA2E,aAAA,CAAC3F,GAAA,CAAAwH,MAAM;IAACC,OAAO,EAAEhE;EAAW,GAAEQ,SAAS,CAACgD,UAAI,CAACe,gBAAgB,CAAU,CAAQ,CACrG,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAArF,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACsF,WAAW,GAAG,+BAA+B;AAErDtF,OAAO,CAACuF,SAAS,GAAG;EAClBrF,YAAY,EAAEsF,kBAAS,CAACC,MAAM;EAC9BtF,QAAQ,EAAEqF,kBAAS,CAACE,KAAK,CAAC;IACxBtF,UAAU,EAAEoF,kBAAS,CAACG;EACxB,CAAC,CAAC;EACFtF,MAAM,EAAEmF,kBAAS,CAACI,OAAO,CACvBJ,kBAAS,CAACE,KAAK,CAAC;IACdG,GAAG,EAAEL,kBAAS,CAACM,MAAM;IACrBtC,KAAK,EAAEgC,kBAAS,CAACM,MAAM;IACvBC,SAAS,EAAEP,kBAAS,CAACM;EACvB,CAAC,CACH,CAAC;EACDxF,SAAS,EAAEkF,kBAAS,CAACG,IAAI;EACzBpF,KAAK,EAAEiF,kBAAS,CAACE,KAAK,CAAC;IACrBM,KAAK,EAAER,kBAAS,CAACM,MAAM;IACvBG,QAAQ,EAAET,kBAAS,CAACM;EACtB,CAAC,CAAC;EACFtF,IAAI,EAAEgF,kBAAS,CAACM,MAAM;EACtBpF,WAAW,EAAE8E,kBAAS,CAACG,IAAI;EAC3BhF,KAAK,EAAE6E,kBAAS,CAACC,MAAM;EACvB5E,UAAU,EAAE2E,kBAAS,CAACU,IAAI;EAC1BpF,SAAS,EAAE0E,kBAAS,CAACU;AACvB,CAAC"}
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 {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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"}
@@ -113,7 +113,8 @@
113
113
  align-items: stretch;
114
114
  }
115
115
 
116
- .card .gap {
116
+ .card .gap,
117
+ .preview .gap {
117
118
  gap: var(--mirai-ui-space-XS);
118
119
  }
119
120
 
@@ -11,36 +11,54 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
  const ModalTwinSkeleton = () => {
12
12
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
13
13
  style: {
14
+ backgroundColor: 'var(--mirai-ui-content-background)',
14
15
  height: '100%',
15
- padding: '16px'
16
+ padding: 'var(--mirai-ui-space-M)'
16
17
  }
17
18
  }, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
18
19
  style: {
19
- gap: '16px',
20
- maxHeight: '90svh',
21
- minWidth: '328px'
20
+ gap: 'var(--mirai-ui-space-M)',
21
+ maxHeight: '90svh'
22
22
  }
23
23
  }, Array.from({
24
24
  length: 8
25
- }).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
25
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
26
26
  key: index,
27
27
  row: true,
28
28
  style: {
29
- minHeight: '108px'
29
+ boxShadow: 'inset 0 0 0 1px var(--mirai-ui-content-border);',
30
+ backgroundColor: 'var(--mirai-ui-base)',
31
+ minHeight: '120px'
30
32
  }
31
33
  }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
32
34
  style: {
33
35
  borderRadius: 0,
34
- minHeight: '108px',
35
- minWidth: '108px'
36
+ height: '120px',
37
+ width: '100px'
36
38
  }
37
- }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
39
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
38
40
  style: {
39
41
  borderRadius: 0,
40
- minHeight: '108px',
41
- minWidth: '220px'
42
+ height: '120px',
43
+ width: '220px'
44
+ }
45
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
46
+ style: {
47
+ height: '100%',
48
+ padding: '0.75rem 1rem',
49
+ justifyContent: 'space-between'
42
50
  }
43
- })))));
51
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
52
+ headline: true,
53
+ level: 2,
54
+ words: 2
55
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
56
+ action: true,
57
+ words: 1
58
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
59
+ action: true,
60
+ words: 1
61
+ }))))))));
44
62
  };
45
63
  exports.ModalTwinSkeleton = ModalTwinSkeleton;
46
64
  ModalTwinSkeleton.displayName = 'Mirai:Core:Rates:ModalTwin:Skeleton';
@@ -1 +1 @@
1
- {"version":3,"file":"ModalTwin.Skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","ModalTwinSkeleton","createElement","View","style","height","padding","ScrollView","gap","maxHeight","minWidth","Array","from","length","map","_","index","Skeleton","key","row","minHeight","borderRadius","exports","displayName"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.Skeleton.jsx"],"sourcesContent":["import { ScrollView, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../../../__shared__';\n\nconst ModalTwinSkeleton = () => {\n return (\n <View style={{ height: '100%', padding: '16px' }}>\n <ScrollView style={{ gap: '16px', maxHeight: '90svh', minWidth: '328px' }}>\n {Array.from({ length: 8 }).map((_, index) => (\n <Skeleton key={index} row style={{ minHeight: '108px' }}>\n <Skeleton style={{ borderRadius: 0, minHeight: '108px', minWidth: '108px' }} />\n <Skeleton style={{ borderRadius: 0, minHeight: '108px', minWidth: '220px' }} />\n </Skeleton>\n ))}\n </ScrollView>\n </View>\n );\n};\n\nModalTwinSkeleton.displayName = 'Mirai:Core:Rates:ModalTwin:Skeleton';\n\nexport { ModalTwinSkeleton };\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAA+C,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EAC9B,oBACEN,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE,MAAM;MAAEC,OAAO,EAAE;IAAO;EAAE,gBAC/CX,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAc,UAAU;IAACH,KAAK,EAAE;MAAEI,GAAG,EAAE,MAAM;MAAEC,SAAS,EAAE,OAAO;MAAEC,QAAQ,EAAE;IAAQ;EAAE,GACvEC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACtCrB,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAoB,QAAQ;IAACC,GAAG,EAAEF,KAAM;IAACG,GAAG;IAACf,KAAK,EAAE;MAAEgB,SAAS,EAAE;IAAQ;EAAE,gBACtDzB,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAoB,QAAQ;IAACb,KAAK,EAAE;MAAEiB,YAAY,EAAE,CAAC;MAAED,SAAS,EAAE,OAAO;MAAEV,QAAQ,EAAE;IAAQ;EAAE,CAAE,CAAC,eAC/Ef,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAoB,QAAQ;IAACb,KAAK,EAAE;MAAEiB,YAAY,EAAE,CAAC;MAAED,SAAS,EAAE,OAAO;MAAEV,QAAQ,EAAE;IAAQ;EAAE,CAAE,CACtE,CACX,CACS,CACR,CAAC;AAEX,CAAC;AAACY,OAAA,CAAArB,iBAAA,GAAAA,iBAAA;AAEFA,iBAAiB,CAACsB,WAAW,GAAG,qCAAqC"}
1
+ {"version":3,"file":"ModalTwin.Skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","ModalTwinSkeleton","createElement","View","style","backgroundColor","height","padding","ScrollView","gap","maxHeight","Array","from","length","map","_","index","key","row","boxShadow","minHeight","Skeleton","borderRadius","width","justifyContent","headline","level","words","action","exports","displayName"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.Skeleton.jsx"],"sourcesContent":["import { ScrollView, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../../../__shared__';\n\nconst ModalTwinSkeleton = () => {\n return (\n <View\n style={{\n backgroundColor: 'var(--mirai-ui-content-background)',\n height: '100%',\n padding: 'var(--mirai-ui-space-M)',\n }}\n >\n <ScrollView style={{ gap: 'var(--mirai-ui-space-M)', maxHeight: '90svh' }}>\n {Array.from({ length: 8 }).map((_, index) => (\n <View\n key={index}\n row\n style={{\n boxShadow: 'inset 0 0 0 1px var(--mirai-ui-content-border);',\n backgroundColor: 'var(--mirai-ui-base)',\n minHeight: '120px',\n }}\n >\n <Skeleton style={{ borderRadius: 0, height: '120px', width: '100px' }} />\n <View style={{ borderRadius: 0, height: '120px', width: '220px' }}>\n <View style={{ height: '100%', padding: '0.75rem 1rem', justifyContent: 'space-between' }}>\n <Skeleton headline level={2} words={2} />\n <View>\n <Skeleton action words={1} />\n <Skeleton action words={1} />\n </View>\n </View>\n </View>\n </View>\n ))}\n </ScrollView>\n </View>\n );\n};\n\nModalTwinSkeleton.displayName = 'Mirai:Core:Rates:ModalTwin:Skeleton';\n\nexport { ModalTwinSkeleton };\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAA+C,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EAC9B,oBACEN,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI;IACHC,KAAK,EAAE;MACLC,eAAe,EAAE,oCAAoC;MACrDC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;IACX;EAAE,gBAEFZ,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAe,UAAU;IAACJ,KAAK,EAAE;MAAEK,GAAG,EAAE,yBAAyB;MAAEC,SAAS,EAAE;IAAQ;EAAE,GACvEC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACtCrB,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI;IACHc,GAAG,EAAED,KAAM;IACXE,GAAG;IACHd,KAAK,EAAE;MACLe,SAAS,EAAE,iDAAiD;MAC5Dd,eAAe,EAAE,sBAAsB;MACvCe,SAAS,EAAE;IACb;EAAE,gBAEFzB,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAwB,QAAQ;IAACjB,KAAK,EAAE;MAAEkB,YAAY,EAAE,CAAC;MAAEhB,MAAM,EAAE,OAAO;MAAEiB,KAAK,EAAE;IAAQ;EAAE,CAAE,CAAC,eACzE5B,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI;IAACC,KAAK,EAAE;MAAEkB,YAAY,EAAE,CAAC;MAAEhB,MAAM,EAAE,OAAO;MAAEiB,KAAK,EAAE;IAAQ;EAAE,gBAChE5B,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI;IAACC,KAAK,EAAE;MAAEE,MAAM,EAAE,MAAM;MAAEC,OAAO,EAAE,cAAc;MAAEiB,cAAc,EAAE;IAAgB;EAAE,gBACxF7B,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAwB,QAAQ;IAACI,QAAQ;IAACC,KAAK,EAAE,CAAE;IAACC,KAAK,EAAE;EAAE,CAAE,CAAC,eACzChC,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACT,GAAA,CAAAU,IAAI,qBACHR,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAwB,QAAQ;IAACO,MAAM;IAACD,KAAK,EAAE;EAAE,CAAE,CAAC,eAC7BhC,MAAA,CAAAK,OAAA,CAAAE,aAAA,CAACL,SAAA,CAAAwB,QAAQ;IAACO,MAAM;IAACD,KAAK,EAAE;EAAE,CAAE,CACxB,CACF,CACF,CACF,CACP,CACS,CACR,CAAC;AAEX,CAAC;AAACE,OAAA,CAAA5B,iBAAA,GAAAA,iBAAA;AAEFA,iBAAiB,CAAC6B,WAAW,GAAG,qCAAqC"}
@@ -165,6 +165,8 @@ const ModalTwin = _ref => {
165
165
  });
166
166
  setSelectedId();
167
167
  setLoaded();
168
+ setExpanded();
169
+ setScrollTo();
168
170
  onClose();
169
171
  };
170
172
  const handleSelect = id => {
@@ -261,7 +263,8 @@ const ModalTwin = _ref => {
261
263
  let index = arguments.length > 1 ? arguments[1] : undefined;
262
264
  const last = index === filteredItems.length - 1;
263
265
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
264
- key: item.id
266
+ key: item.id,
267
+ className: style.item
265
268
  }, /*#__PURE__*/_react.default.createElement(_components.CardReduced, _extends({
266
269
  item,
267
270
  last,
@@ -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: '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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"}
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 setExpanded();\n setScrollTo();\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} 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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"}
@@ -57,6 +57,11 @@
57
57
  overflow-y: clip;
58
58
  }
59
59
 
60
+ .slider .item {
61
+ margin-left: var(--mirai-ui-space-M);
62
+ scroll-snap-align: center;
63
+ }
64
+
60
65
  .slider.reduced {
61
66
  height: 120px;
62
67
  }
@@ -102,12 +107,8 @@
102
107
  position: relative;
103
108
  }
104
109
 
105
- .slider .card {
106
- margin-left: var(--mirai-ui-space-L);
107
- }
108
-
109
110
  .card.last {
110
- margin-right: var(--mirai-ui-space-L);
111
+ margin-right: var(--mirai-ui-space-M);
111
112
  }
112
113
 
113
114
  .card.disabled {
@@ -115,7 +116,6 @@
115
116
  }
116
117
 
117
118
  .card .preview {
118
- min-height: 400px;
119
119
  justify-content: space-between;
120
120
  }
121
121
 
@@ -129,8 +129,6 @@
129
129
  border-radius: var(--mirai-ui-border-radius) 0 0 var(--mirai-ui-border-radius);
130
130
  height: 120px;
131
131
  width: 120px;
132
- max-height: 120px;
133
- max-width: 120px;
134
132
  }
135
133
 
136
134
  .content {
@@ -166,6 +164,10 @@
166
164
  .modal {
167
165
  height: 100svh;
168
166
  }
167
+
168
+ .card .preview {
169
+ min-height: 420px;
170
+ }
169
171
  }
170
172
 
171
173
  /* M & L */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.277",
3
+ "version": "0.4.278",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",