@mirai/core 0.3.286 → 0.3.288

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.
Files changed (29) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.js +37 -12
  2. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +18 -0
  4. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -0
  5. package/build/components/BannerLoyalty/BannerLoyalty.module.css +4 -0
  6. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +77 -0
  7. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -0
  8. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +95 -1
  9. package/build/components/Header/Header.js +10 -0
  10. package/build/components/Header/Header.js.map +1 -1
  11. package/build/components/Rates/Rates.Content.js +12 -4
  12. package/build/components/Rates/Rates.Content.js.map +1 -1
  13. package/build/components/Rates/Rates.Header.js +2 -1
  14. package/build/components/Rates/Rates.Header.js.map +1 -1
  15. package/build/components/Rates/Rates.js +3 -1
  16. package/build/components/Rates/Rates.js.map +1 -1
  17. package/build/components/Rates/components/ClubRate/ClubRate.js +6 -5
  18. package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
  19. package/build/components/Rates/components/ClubRate/ClubRate.module.css +4 -1
  20. package/build/components/Rates/components/Item/Item.Preview.js +38 -2
  21. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Summary.js +3 -29
  23. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  24. package/build/components/Rates/components/Item/Item.module.css +19 -0
  25. package/build/components/helpers/constants.js +1 -0
  26. package/build/components/helpers/constants.js.map +1 -1
  27. package/package.json +1 -1
  28. package/build/components/BannerLoyalty/BannerLoyalty.constants.js +0 -15
  29. package/build/components/BannerLoyalty/BannerLoyalty.constants.js.map +0 -1
@@ -353,7 +353,9 @@ const Rates = _ref => {
353
353
  className: (0, _ui.styles)(style.container, others.className)
354
354
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
355
355
  className: [style.wrapper, style.content]
356
- }, !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, _extends({}, dataSource, others)), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
356
+ }, !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, _extends({}, dataSource, others, {
357
+ skeleton: skeleton
358
+ })), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
357
359
  clubDiscount,
358
360
  dataSource,
359
361
  features,
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -33,21 +33,20 @@ const ClubRate = _ref => {
33
33
  value: {
34
34
  club: {
35
35
  banner: {
36
- benefits = [],
37
- title
36
+ benefits = []
38
37
  } = {}
39
38
  } = {}
40
39
  }
41
40
  } = (0, _dataSources.useStore)();
42
41
  const locale = (0, _helpers.getNormalizedLocale)(stateLocale);
43
- return title && benefits.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
42
+ return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
44
43
  className: style.container
45
44
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
46
45
  accent: true,
47
46
  bold: true
48
47
  }, translate(_ClubRate.L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
49
48
  action: true
50
- }, translate(_ClubRate.L10N.LABEL_CLUB_BENEFITS)), /*#__PURE__*/_react.default.createElement(_ui.View, {
49
+ }, translate(_ClubRate.L10N.LABEL_CLUB_BENEFITS)), benefits.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
51
50
  className: style.list
52
51
  }, benefits.map(function () {
53
52
  let {
@@ -63,11 +62,13 @@ const ClubRate = _ref => {
63
62
  onPress: onSubmit,
64
63
  wide: true
65
64
  }, translate(_ClubRate.L10N.ACTION_BOOK_AND_JOIN)), /*#__PURE__*/_react.default.createElement(_ui.View, {
65
+ className: style.anchor
66
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
66
67
  className: style.divider
67
68
  }), /*#__PURE__*/_react.default.createElement(_ui.Action, {
68
69
  inline: true,
69
70
  onPress: onCancel
70
- }, translate(_ClubRate.L10N.ACTION_SELECT_ANOTHER_FARE))) : null;
71
+ }, translate(_ClubRate.L10N.ACTION_SELECT_ANOTHER_FARE)));
71
72
  };
72
73
  exports.ClubRate = ClubRate;
73
74
  ClubRate.displayName = 'Mirai:Core:Rates:ClubRate';
@@ -1 +1 @@
1
- {"version":3,"file":"ClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_ClubRate","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","ClubRate","_ref","onCancel","onSubmit","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","title","useStore","getNormalizedLocale","createElement","View","className","container","Text","accent","bold","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","action","LABEL_CLUB_BENEFITS","list","map","description","undefined","index","small","concat","DEFAULT_LOCALE","Button","onPress","wide","ACTION_BOOK_AND_JOIN","divider","Action","inline","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Rates/components/ClubRate/ClubRate.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { Action, Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './ClubRate.l10n';\nimport * as style from './ClubRate.module.css';\nimport { getNormalizedLocale } from '../../../helpers';\n\nconst ClubRate = ({ onCancel, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], title } = {} } = {} },\n } = useStore();\n\n const locale = getNormalizedLocale(stateLocale);\n\n return title && benefits.length > 0 ? (\n <View {...others} className={style.container}>\n <Text accent bold>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Text>\n\n <Text action>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n <View className={style.list}>\n {benefits.map(({ description } = {}, index) => (\n <Text key={index} action={!isMobile} small={isMobile}>\n {`• ${description[locale] || description[DEFAULT_LOCALE]}`}\n </Text>\n ))}\n </View>\n\n <Button onPress={onSubmit} wide>\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n <View className={style.divider} />\n <Action inline onPress={onCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n ) : null;\n};\n\nClubRate.displayName = 'Mirai:Core:Rates:ClubRate';\n\nClubRate.propTypes = {\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ClubRate };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_ClubRate","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","ClubRate","_ref","onCancel","onSubmit","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","useStore","getNormalizedLocale","createElement","View","className","container","Text","accent","bold","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","action","LABEL_CLUB_BENEFITS","list","map","description","undefined","index","small","concat","DEFAULT_LOCALE","Button","onPress","wide","ACTION_BOOK_AND_JOIN","anchor","divider","Action","inline","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Rates/components/ClubRate/ClubRate.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { Action, Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './ClubRate.l10n';\nimport * as style from './ClubRate.module.css';\nimport { getNormalizedLocale } from '../../../helpers';\n\nconst ClubRate = ({ onCancel, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [] } = {} } = {} },\n } = useStore();\n\n const locale = getNormalizedLocale(stateLocale);\n\n return (\n <View {...others} className={style.container}>\n <Text accent bold>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Text>\n\n <Text action>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n\n {benefits.length > 0 && (\n <View className={style.list}>\n {benefits.map(({ description } = {}, index) => (\n <Text key={index} action={!isMobile} small={isMobile}>\n {`• ${description[locale] || description[DEFAULT_LOCALE]}`}\n </Text>\n ))}\n </View>\n )}\n\n <Button onPress={onSubmit} wide>\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n\n <View className={style.anchor} />\n <View className={style.divider} />\n\n <Action inline onPress={onCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n );\n};\n\nClubRate.displayName = 'Mirai:Core:Rates:ClubRate';\n\nClubRate.propTypes = {\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ClubRate };\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  .container {
2
- align-self: flex-start;
3
2
  background-color: var(--mirai-ui-accent-background);
4
3
  border: solid 1px var(--mirai-ui-accent-border);
5
4
  padding: var(--mirai-ui-space-L);
@@ -10,6 +9,10 @@
10
9
  gap: var(--mirai-ui-space-XS);
11
10
  }
12
11
 
12
+ .container .anchor {
13
+ flex: 1;
14
+ }
15
+
13
16
  .container .divider {
14
17
  height: 1px;
15
18
  background-color: var(--mirai-ui-accent-border);
@@ -13,6 +13,7 @@ var _components = require("./components");
13
13
  var _Item = require("./Item.l10n");
14
14
  var style = _interopRequireWildcard(require("./Item.module.css"));
15
15
  var _helpers = require("../../../helpers");
16
+ var _Rates = require("../../Rates.constants");
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -54,6 +55,9 @@ const Preview = _ref => {
54
55
  const ref = (0, _react.useRef)(null);
55
56
  const {
56
57
  value: {
58
+ finder: {
59
+ promocode
60
+ } = {},
57
61
  hotel: {
58
62
  warningAvailability = 9999
59
63
  }
@@ -72,18 +76,41 @@ const Preview = _ref => {
72
76
  small: isMobile
73
77
  };
74
78
  const {
79
+ discount: {
80
+ breakdown = []
81
+ } = {},
75
82
  offerDates,
76
83
  variants = []
77
84
  } = selectedBoard;
85
+ const has = {
86
+ discountClub: breakdown.find(_ref2 => {
87
+ let {
88
+ type
89
+ } = _ref2;
90
+ return type === _Rates.DISCOUNT_TYPE.CLUB;
91
+ }),
92
+ discountDeal: breakdown.find(_ref3 => {
93
+ let {
94
+ type
95
+ } = _ref3;
96
+ return type === _Rates.DISCOUNT_TYPE.DEAL;
97
+ }),
98
+ discountPromocode: breakdown.find(_ref4 => {
99
+ let {
100
+ type
101
+ } = _ref4;
102
+ return type === _Rates.DISCOUNT_TYPE.PROMOTION;
103
+ })
104
+ };
78
105
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
79
106
  ref: ref,
80
107
  className: style.preview
81
108
  }, /*#__PURE__*/_react.default.createElement(_components.Slider, {
82
109
  height: rowMode ? height / (isPortrait ? 5 : 3) : 208,
83
- images: images.map(_ref2 => {
110
+ images: images.map(_ref5 => {
84
111
  let {
85
112
  large
86
- } = _ref2;
113
+ } = _ref5;
87
114
  return large;
88
115
  }),
89
116
  media: media,
@@ -92,6 +119,15 @@ const Preview = _ref => {
92
119
  onViewUrl: onViewUrl,
93
120
  className: style.slider
94
121
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
122
+ row: true,
123
+ className: style.tags
124
+ }, has.discountPromocode && promocode && /*#__PURE__*/_react.default.createElement(_ui.Text, {
125
+ bold: true,
126
+ small: true
127
+ }, "".concat(translate(_Item.L10N.LABEL_PROMO_CODE), " ").concat(promocode.toUpperCase())), has.discountClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
128
+ bold: true,
129
+ small: true
130
+ }, translate(_Item.L10N.LABEL_CLUB_MEMBERS))), /*#__PURE__*/_react.default.createElement(_ui.View, {
95
131
  row: true,
96
132
  className: [style.offset, style.spaceBetween, style.details]
97
133
  }, /*#__PURE__*/_react.default.createElement(_components.Features, _extends({}, others, {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","availableRates","boards","cancellations","features","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","useEffect","clientWidth","current","uniqueRate","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","undefined","slider","row","offset","spaceBetween","details","Features","Text","bold","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","INFO","light","isClub","rate","LABEL_ONLY_MEMBERS","restrictions","isVariableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableRates = [],\n boards = [],\n cancellations = [],\n features: { rowMode = false },\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isDesktop, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isDesktop, isTablet, width]);\n\n const [uniqueRate] = cancellations.length === availableRates.length ? rates : [];\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates, variants = [] } = selectedBoard;\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n width={memoizedWidth}\n onCounter={!isMobile ? onMoreInfo : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...others} onMoreInfo={onMoreInfo} />\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 headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n {boards.length === 1 && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n </>\n )}\n\n {cancellations.length === 1 && (\n <View>\n <View row>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.isClub && (\n <View row>\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ isVariableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {isVariableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n rowMode: 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 rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_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","availableRates","boards","cancellations","features","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","promocode","hotel","warningAvailability","useStore","useEffect","clientWidth","current","uniqueRate","caption","capitalize","action","small","discount","breakdown","offerDates","variants","discountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","discountDeal","_ref3","DEAL","discountPromocode","_ref4","PROMOTION","createElement","View","className","preview","Slider","map","_ref5","large","onCounter","undefined","slider","row","tags","Text","bold","concat","L10N","LABEL_PROMO_CODE","toUpperCase","LABEL_CLUB_MEMBERS","offset","spaceBetween","details","Features","error","LABEL_REMAINING_ITEMS","amount","gap","flex","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","INFO","light","isClub","rate","LABEL_ONLY_MEMBERS","restrictions","isVariableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","inline","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableRates = [],\n boards = [],\n cancellations = [],\n features: { rowMode = false },\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isDesktop, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { promocode } = {}, hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isDesktop, isTablet, width]);\n\n const [uniqueRate] = cancellations.length === availableRates.length ? rates : [];\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { discount: { breakdown = [] } = {}, offerDates, variants = [] } = selectedBoard;\n\n const has = {\n discountClub: breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB),\n discountDeal: breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL),\n discountPromocode: breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION),\n };\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n width={memoizedWidth}\n onCounter={!isMobile ? onMoreInfo : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {has.discountPromocode && promocode && (\n <Text bold small>\n {`${translate(L10N.LABEL_PROMO_CODE)} ${promocode.toUpperCase()}`}\n </Text>\n )}\n {has.discountClub && (\n <Text bold small>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...others} onMoreInfo={onMoreInfo} />\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 headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n {boards.length === 1 && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n </>\n )}\n\n {cancellations.length === 1 && (\n <View>\n <View row>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.isClub && (\n <View row>\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ isVariableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {isVariableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n rowMode: 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 rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -13,7 +13,6 @@ var _components = require("./components");
13
13
  var _Item = require("./Item.l10n");
14
14
  var style = _interopRequireWildcard(require("./Item.module.css"));
15
15
  var _helpers = require("../../helpers");
16
- var _Rates = require("../../Rates.constants");
17
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -38,10 +37,7 @@ const Summary = _ref => {
38
37
  } = (0, _locale.useLocale)();
39
38
  const {
40
39
  value: {
41
- currency,
42
- finder: {
43
- promocode
44
- } = {}
40
+ currency
45
41
  } = {}
46
42
  } = (0, _dataSources.useStore)();
47
43
  const [busy, setBusy] = (0, _react.useState)(false);
@@ -81,37 +77,15 @@ const Summary = _ref => {
81
77
  } : undefined);
82
78
  };
83
79
  const {
84
- percentage: discountPercentage = 0,
85
- breakdown = []
80
+ percentage: discountPercentage = 0
86
81
  } = discount || {};
87
- const singleDiscount = breakdown.length === 1;
88
- const has = {
89
- discountClub: breakdown.find(_ref2 => {
90
- let {
91
- type
92
- } = _ref2;
93
- return type === _Rates.DISCOUNT_TYPE.CLUB;
94
- }),
95
- discountDeal: breakdown.find(_ref3 => {
96
- let {
97
- type
98
- } = _ref3;
99
- return type === _Rates.DISCOUNT_TYPE.DEAL;
100
- }),
101
- discountPromocode: breakdown.find(_ref4 => {
102
- let {
103
- type
104
- } = _ref4;
105
- return type === _Rates.DISCOUNT_TYPE.PROMOTION;
106
- })
107
- };
108
82
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
109
83
  className: [style.offset, style.summary]
110
84
  }, !isSoldOut && discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
111
85
  accent: true,
112
86
  bold: true,
113
87
  small: true
114
- }, singleDiscount && "".concat(translate(has.discountClub ? _Item.L10N.LABEL_CLUB_MEMBERS : has.discountDeal ? _Item.L10N.LABEL_OFFER : _Item.L10N.LABEL_PROMO_CODE), " "), singleDiscount && has.discountPromocode && "".concat(promocode.toUpperCase(), " "), translate(_Item.L10N.LABEL_DISCOUNT, {
88
+ }, translate(_Item.L10N.LABEL_DISCOUNT, {
115
89
  value: "".concat(discountPercentage, "%")
116
90
  })), /*#__PURE__*/_react.default.createElement(_ui.View, {
117
91
  row: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_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","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","promocode","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","dayPrice","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","breakdown","singleDiscount","discountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","discountDeal","_ref3","DEAL","discountPromocode","_ref4","PROMOTION","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_OFFER","LABEL_PROMO_CODE","toUpperCase","LABEL_DISCOUNT","row","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount,\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0, breakdown = [] } = discount || {};\n const singleDiscount = breakdown.length === 1;\n const has = {\n discountClub: breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB),\n discountDeal: breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL),\n discountPromocode: breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION),\n };\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {singleDiscount &&\n `${translate(\n has.discountClub\n ? L10N.LABEL_CLUB_MEMBERS\n : has.discountDeal\n ? L10N.LABEL_OFFER\n : L10N.LABEL_PROMO_CODE,\n )} `}\n {singleDiscount && has.discountPromocode && `${promocode.toUpperCase()} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","dayPrice","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","L10N","LABEL_DISCOUNT","concat","row","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount,\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0 } = discount || {};\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
@@ -36,6 +36,25 @@
36
36
  overflow: hidden;
37
37
  }
38
38
 
39
+ .preview {
40
+ position: relative;
41
+ }
42
+
43
+ .preview .tags {
44
+ gap: var(--mirai-ui-space-XS);
45
+ left: 0;
46
+ margin: var(--mirai-ui-space-S);
47
+ position: absolute;
48
+ top: 0;
49
+ }
50
+
51
+ .preview .tags > [data-role='text'] {
52
+ background-color: var(--mirai-ui-accent);
53
+ border-radius: var(--mirai-ui-border-radius);
54
+ color: var(--mirai-ui-base);
55
+ padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XS);
56
+ }
57
+
39
58
  .preview .slider {
40
59
  border-top-left-radius: var(--mirai-ui-border-radius);
41
60
  }