@mirai/core 0.4.261 → 0.4.263

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 (46) hide show
  1. package/build/components/Rates/Rates.Header.js +27 -7
  2. package/build/components/Rates/Rates.Header.js.map +1 -1
  3. package/build/components/Rates/Rates.constants.js +2 -1
  4. package/build/components/Rates/Rates.constants.js.map +1 -1
  5. package/build/components/Rates/Rates.js +32 -2
  6. package/build/components/Rates/Rates.js.map +1 -1
  7. package/build/components/Rates/Rates.l10n.js +3 -0
  8. package/build/components/Rates/Rates.l10n.js.map +1 -1
  9. package/build/components/Rates/Rates.module.css +4 -0
  10. package/build/components/Rates/components/Filters/Filters.js +10 -0
  11. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  12. package/build/components/Rates/components/Item/Item.Preview.js +11 -6
  13. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  14. package/build/components/Rates/components/Item/Item.module.css +8 -12
  15. package/build/components/Rates/components/ModalTwin/ModalTwin.Skeleton.js +47 -0
  16. package/build/components/Rates/components/ModalTwin/ModalTwin.Skeleton.js.map +1 -0
  17. package/build/components/Rates/components/ModalTwin/ModalTwin.constants.js +15 -0
  18. package/build/components/Rates/components/ModalTwin/ModalTwin.constants.js.map +1 -0
  19. package/build/components/Rates/components/ModalTwin/ModalTwin.js +294 -0
  20. package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -0
  21. package/build/components/Rates/components/ModalTwin/ModalTwin.l10n.js +27 -0
  22. package/build/components/Rates/components/ModalTwin/ModalTwin.l10n.js.map +1 -0
  23. package/build/components/Rates/components/ModalTwin/ModalTwin.module.css +181 -0
  24. package/build/components/Rates/components/ModalTwin/components/CardExpanded.js +79 -0
  25. package/build/components/Rates/components/ModalTwin/components/CardExpanded.js.map +1 -0
  26. package/build/components/Rates/components/ModalTwin/components/CardReduced.js +64 -0
  27. package/build/components/Rates/components/ModalTwin/components/CardReduced.js.map +1 -0
  28. package/build/components/Rates/components/ModalTwin/components/Prices.js +64 -0
  29. package/build/components/Rates/components/ModalTwin/components/Prices.js.map +1 -0
  30. package/build/components/Rates/components/ModalTwin/components/Slider.js +38 -0
  31. package/build/components/Rates/components/ModalTwin/components/Slider.js.map +1 -0
  32. package/build/components/Rates/components/ModalTwin/components/index.js +50 -0
  33. package/build/components/Rates/components/ModalTwin/components/index.js.map +1 -0
  34. package/build/components/Rates/components/ModalTwin/helpers/getUrl.js +40 -0
  35. package/build/components/Rates/components/ModalTwin/helpers/getUrl.js.map +1 -0
  36. package/build/components/Rates/components/ModalTwin/helpers/index.js +17 -0
  37. package/build/components/Rates/components/ModalTwin/helpers/index.js.map +1 -0
  38. package/build/components/Rates/components/ModalTwin/index.js +17 -0
  39. package/build/components/Rates/components/ModalTwin/index.js.map +1 -0
  40. package/build/components/Rates/components/index.js +11 -0
  41. package/build/components/Rates/components/index.js.map +1 -1
  42. package/build/components/Rates/hooks/useRates.js.map +1 -1
  43. package/build/components/Session/Session.module.css +3 -3
  44. package/build/components/helpers/ICON.js +2 -0
  45. package/build/components/helpers/ICON.js.map +1 -1
  46. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","currentCurrency","memoizeForm","timeoutRange","Filters","_ref","clubConditions","items","propItems","priceFactor","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","visibleClub","setVisibleClub","undefined","useEffect","nextForm","clubDiscount","offer","roomType","countFilters","priceRange","strictSearch","getStrictSearch","setNextState","setClubDiscount","next","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","unsubscribe","JSON","stringify","nextFilters","handleModal","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","SUBMIT_DELAY","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","href","small","target","underline","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref3","text","type","Option","board","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref4","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref5","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({ clubConditions, items: propItems = [], priceFactor = 1, onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n const [visibleClub, setVisibleClub] = useState(discount !== undefined);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange || (currentCurrency !== undefined && currentCurrency === currency)) return;\n\n currentCurrency = currency;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n onSubmit({ ...nextForm, strictSearch: getStrictSearch(nextForm) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n const setClubDiscount = (next) => {\n const clubDiscount = typeof next !== 'object' ? next : undefined;\n setNextState({ ...form, clubDiscount: typeof clubDiscount !== 'object' ? clubDiscount : undefined });\n setVisibleClub(clubDiscount !== undefined);\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, setClubDiscount);\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => {\n Event.unsubscribe(EVENT.RATES_FILTER_CLUB, setClubDiscount);\n Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n };\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }),\n SUBMIT_DELAY / 2,\n );\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM, clubDiscount: false });\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.RATES_FILTER_CLUB, form.clubDiscount);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (visibleClub || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items?.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} small target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={(field, value) => handleBookingOption(field, value)}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile || filters.prices.length <= 8 ? 6 : 10}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action onPress={() => setAllAmenities(true)}>{translate(L10N.ACTION_VIEW_MORE)}</Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","currentCurrency","memoizeForm","timeoutRange","Filters","_ref","clubConditions","items","propItems","priceFactor","values","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","visibleClub","setVisibleClub","undefined","useEffect","nextForm","clubDiscount","offer","roomType","countFilters","priceRange","strictSearch","getStrictSearch","setNextState","setClubDiscount","next","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","unsubscribe","JSON","stringify","nextFilters","keys","length","handleModal","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleRange","clearTimeout","setTimeout","SUBMIT_DELAY","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","href","small","target","underline","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref3","text","type","Option","board","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref4","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref5","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","number","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({\n clubConditions,\n items: propItems = [],\n priceFactor = 1,\n values,\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems, { priceFactor }));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n const [visibleClub, setVisibleClub] = useState(discount !== undefined);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange || (currentCurrency !== undefined && currentCurrency === currency)) return;\n\n currentCurrency = currency;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n onSubmit({ ...nextForm, strictSearch: getStrictSearch(nextForm) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n const setClubDiscount = (next) => {\n const clubDiscount = typeof next !== 'object' ? next : undefined;\n setNextState({ ...form, clubDiscount: typeof clubDiscount !== 'object' ? clubDiscount : undefined });\n setVisibleClub(clubDiscount !== undefined);\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, setClubDiscount);\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => {\n Event.unsubscribe(EVENT.RATES_FILTER_CLUB, setClubDiscount);\n Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n };\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems, { priceFactor });\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n useEffect(() => {\n if (!values || Object.keys(values).length === 0) return;\n\n if (JSON.stringify(values) !== JSON.stringify(form)) {\n setForm(values);\n setCounter(countFilters(values));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleModal = () => {\n let next = !visible;\n\n setVisible(next);\n if (next) Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n };\n\n const handleAmenity = (id, value) => {\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:AMENITY', amenity: id, value });\n };\n\n const handleOption = (field, id) => {\n setForm({ ...form, [field]: form[field] === id ? undefined : id });\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}` });\n };\n\n const handleRange = (field, value) => {\n setForm({ ...form, [field]: value });\n\n clearTimeout(timeoutRange);\n timeoutRange = setTimeout(\n () => Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value }),\n SUBMIT_DELAY / 2,\n );\n };\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n Event.publish(EVENT.METRICS, { id: `RATES:FILTERS:${field}`, value });\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM, clubDiscount: false });\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:CLEAR_ALL' });\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n const nextCounter = countFilters(form);\n setCounter(nextCounter);\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n Event.publish(EVENT.RATES_FILTER_CLUB, form.clubDiscount);\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS:SUBMIT', counter: nextCounter });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems, { priceFactor }));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (visibleClub || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form, { priceFactor }).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items?.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={handleModal} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={handleModal}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} small target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={(field, value) => handleBookingOption(field, value)}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(priceFactor === 1 ? L10N.LABEL_SET_PRICE_RANGE : L10N.LABEL_NIGHTLY_PRICES)}\n dataSource={filters.prices}\n resolution={isMobile || filters.prices.length <= 8 ? 6 : 10}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(value) => handleRange('priceRange', value)}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action onPress={() => setAllAmenities(true)}>{translate(L10N.ACTION_VIEW_MORE)}</Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(value) => handleRange('sizeRange', value)}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n values: PropTypes.shape({}),\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -33,6 +33,8 @@ const Preview = _ref => {
33
33
  isSoldOut = false,
34
34
  media,
35
35
  name: title,
36
+ showActions = true,
37
+ width: propWidth,
36
38
  onMoreInfo,
37
39
  onViewUrl = () => {},
38
40
  ...others
@@ -67,7 +69,8 @@ const Preview = _ref => {
67
69
  const {
68
70
  clientWidth
69
71
  } = ref.current || {};
70
- if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);
72
+ if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);
73
+ // eslint-disable-next-line react-hooks/exhaustive-deps
71
74
  }, [isTablet, width]);
72
75
  const handleSliderCounter = () => {
73
76
  onMoreInfo && onMoreInfo();
@@ -78,7 +81,7 @@ const Preview = _ref => {
78
81
  const hasTwin = others.id && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
79
82
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
80
83
  ref: ref,
81
- className: style.preview
84
+ className: (0, _ui.styles)(style.preview, !showActions && style.withRadius)
82
85
  }, /*#__PURE__*/_react.default.createElement(_components.Slider, {
83
86
  height: columnMode ? height / (isPortrait ? 5 : 3) : 208,
84
87
  images: images.map(_ref2 => {
@@ -87,9 +90,9 @@ const Preview = _ref => {
87
90
  } = _ref2;
88
91
  return large;
89
92
  }),
90
- media: media,
93
+ media: showActions ? media : undefined,
91
94
  title: title,
92
- width: memoizedWidth,
95
+ width: propWidth || memoizedWidth,
93
96
  onCounter: !isMobile ? handleSliderCounter : undefined,
94
97
  onViewUrl: onViewUrl,
95
98
  className: style.slider
@@ -113,7 +116,7 @@ const Preview = _ref => {
113
116
  bold: true,
114
117
  brand: true,
115
118
  headline: true
116
- }, title), hasTwin && /*#__PURE__*/_react.default.createElement(_ui.Action, {
119
+ }, title), hasTwin && showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
117
120
  onPress: () => {
118
121
  _dataSources.Event.publish(_helpers.EVENT.METRICS, {
119
122
  id: 'RATES:ITEM:TWIN'
@@ -132,7 +135,7 @@ const Preview = _ref => {
132
135
  preview: true
133
136
  }, others)), /*#__PURE__*/_react.default.createElement(_ui.View, {
134
137
  row: true
135
- }, /*#__PURE__*/_react.default.createElement(_ui.Action, {
138
+ }, showActions && /*#__PURE__*/_react.default.createElement(_ui.Action, {
136
139
  onPress: onMoreInfo
137
140
  }, translate(_Item.L10N.ACTION_MORE_INFO)))));
138
141
  };
@@ -154,6 +157,8 @@ Preview.propTypes = {
154
157
  urlVideo: _propTypes.default.string
155
158
  }),
156
159
  name: _propTypes.default.string,
160
+ showActions: _propTypes.default.bool,
161
+ width: _propTypes.default.number,
157
162
  onMoreInfo: _propTypes.default.func,
158
163
  onViewUrl: _propTypes.default.func
159
164
  };
@@ -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","onMoreInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","width","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","preview","Slider","map","_ref2","large","onCounter","undefined","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, 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 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) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\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={style.preview}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n title={title}\n width={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 && (\n <Action\n onPress={() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:TWIN' });\n onViewUrl({\n title,\n url: `https://twin.mirai.com/rates/index.html?id=${isHotel ? hotelId : hotel.id}&room=${\n others.id\n }&lang=${language}`,\n });\n }}\n >\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n <View row>\n <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</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 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 onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","isSoldOut","media","name","title","showActions","width","propWidth","onMoreInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","useDevice","translate","useLocale","ref","useRef","value","finder","place","id","hotelId","isHotel","hotel","warningAvailability","language","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","styles","preview","withRadius","Slider","map","_ref2","large","undefined","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","small","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","Action","onPress","url","concat","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Text, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n showActions = true,\n width: propWidth,\n onMoreInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {} } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n language,\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth && !propWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const hasTwin = others.id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={styles(style.preview, !showActions && style.withRadius)}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={showActions ? media : undefined}\n title={title}\n width={propWidth || memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline>\n {title}\n </Text>\n\n {hasTwin && showActions && (\n <Action\n onPress={() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:TWIN' });\n onViewUrl({\n title,\n url: `https://twin.mirai.com/rates/index.html?id=${isHotel ? hotelId : hotel.id}&room=${\n others.id\n }&lang=${language}`,\n });\n }}\n >\n <Text bold small className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n <View row>{showActions && <Action onPress={onMoreInfo}>{translate(L10N.ACTION_MORE_INFO)}</Action>}</View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n showActions: PropTypes.bool,\n width: PropTypes.number,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  .card {
2
2
  height: 100%;
3
+ border-radius: var(--mirai-ui-border-radius);
3
4
  }
4
5
 
5
- .card .offset {
6
+ .offset {
6
7
  padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
7
8
  }
8
9
 
@@ -52,14 +53,9 @@
52
53
  padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XS);
53
54
  }
54
55
 
55
- .preview .slider {
56
- border-top-left-radius: var(--mirai-ui-border-radius);
57
- }
58
-
59
- .card .preview .slider {
60
- border-top-right-radius: var(--mirai-ui-border-radius);
56
+ .preview.withRadius .slider {
57
+ border-radius: var(--mirai-ui-border-radius) var(--mirai-ui-border-radius) 0 0;
61
58
  }
62
-
63
59
  .preview .tag3D {
64
60
  background-color: var(--mirai-ui-accent);
65
61
  border-radius: var(--mirai-ui-border-radius);
@@ -183,11 +179,11 @@
183
179
 
184
180
  /* S */
185
181
  @media only screen and (max-width: 480px) {
186
- .card .offset {
182
+ .offset {
187
183
  padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
188
184
  }
189
185
 
190
- .card > .offset:nth-last-child(2) {
186
+ .offset:nth-last-child(2) {
191
187
  padding-bottom: var(--mirai-ui-space-S);
192
188
  }
193
189
 
@@ -198,11 +194,11 @@
198
194
 
199
195
  /* M & L */
200
196
  @media only screen and (min-width: 481px) {
201
- .card .offset {
197
+ .offset {
202
198
  padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
203
199
  }
204
200
 
205
- .card > .offset:nth-last-child(2) {
201
+ .offset:nth-last-child(2) {
206
202
  padding-bottom: var(--mirai-ui-space-M);
207
203
  }
208
204
 
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModalTwinSkeleton = void 0;
7
+ var _ui = require("@mirai/ui");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _shared__ = require("../../../__shared__");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const ModalTwinSkeleton = () => {
12
+ return /*#__PURE__*/_react.default.createElement(_ui.View, {
13
+ style: {
14
+ height: '100%',
15
+ padding: '16px'
16
+ }
17
+ }, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
18
+ style: {
19
+ gap: '16px',
20
+ maxHeight: '90svh',
21
+ minWidth: '328px'
22
+ }
23
+ }, Array.from({
24
+ length: 8
25
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
26
+ key: index,
27
+ row: true,
28
+ style: {
29
+ minHeight: '108px'
30
+ }
31
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
32
+ style: {
33
+ borderRadius: 0,
34
+ minHeight: '108px',
35
+ minWidth: '108px'
36
+ }
37
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
38
+ style: {
39
+ borderRadius: 0,
40
+ minHeight: '108px',
41
+ minWidth: '220px'
42
+ }
43
+ })))));
44
+ };
45
+ exports.ModalTwinSkeleton = ModalTwinSkeleton;
46
+ ModalTwinSkeleton.displayName = 'Mirai:Core:Rates:ModalTwin:Skeleton';
47
+ //# sourceMappingURL=ModalTwin.Skeleton.js.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SCROLL_DELAY = exports.CURRENCY_FORMAT = exports.CARD_WIDTH = void 0;
7
+ const CARD_WIDTH = exports.CARD_WIDTH = 320;
8
+ const CURRENCY_FORMAT = exports.CURRENCY_FORMAT = {
9
+ fancy: false,
10
+ maximumFractionDigits: 0,
11
+ minimumFractionDigits: 0,
12
+ symbol: false
13
+ };
14
+ const SCROLL_DELAY = exports.SCROLL_DELAY = 100;
15
+ //# sourceMappingURL=ModalTwin.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalTwin.constants.js","names":["CARD_WIDTH","exports","CURRENCY_FORMAT","fancy","maximumFractionDigits","minimumFractionDigits","symbol","SCROLL_DELAY"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.constants.js"],"sourcesContent":["const CARD_WIDTH = 320;\n\nconst CURRENCY_FORMAT = {\n fancy: false,\n maximumFractionDigits: 0,\n minimumFractionDigits: 0,\n symbol: false,\n};\n\nconst SCROLL_DELAY = 100;\n\nexport { CARD_WIDTH, CURRENCY_FORMAT, SCROLL_DELAY };\n"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,GAAG;AAEtB,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG;EACtBC,KAAK,EAAE,KAAK;EACZC,qBAAqB,EAAE,CAAC;EACxBC,qBAAqB,EAAE,CAAC;EACxBC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAAN,OAAA,CAAAM,YAAA,GAAG,GAAG"}