@mirai/core 0.3.402 → 0.3.404

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 (67) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.js +17 -1
  2. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  3. package/build/components/Checkout/Checkout.constants.js +1 -3
  4. package/build/components/Checkout/Checkout.constants.js.map +1 -1
  5. package/build/components/Checkout/Checkout.js +13 -37
  6. package/build/components/Checkout/Checkout.js.map +1 -1
  7. package/build/components/Checkout/partials/Checkout.Confirmation.js +4 -23
  8. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  9. package/build/components/Checkout/partials/Checkout.Form.js +0 -18
  10. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  11. package/build/components/Finder/Finder.js +10 -0
  12. package/build/components/Finder/Finder.js.map +1 -1
  13. package/build/components/Header/Header.js +14 -18
  14. package/build/components/Header/Header.js.map +1 -1
  15. package/build/components/Rates/Rates.RoomSelector.js +8 -1
  16. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  17. package/build/components/Rates/Rates.js +24 -5
  18. package/build/components/Rates/Rates.js.map +1 -1
  19. package/build/components/Rates/components/ClubRate/ClubRate.js +12 -1
  20. package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
  21. package/build/components/Rates/components/Filters/Filters.js +43 -11
  22. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  23. package/build/components/Rates/components/Item/Item.Preview.js +7 -1
  24. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  25. package/build/components/Rates/components/Item/Item.js +14 -0
  26. package/build/components/Rates/components/Item/Item.js.map +1 -1
  27. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js +8 -1
  28. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -1
  29. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +4 -0
  30. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  31. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +5 -0
  32. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  33. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +12 -1
  34. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
  35. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +8 -1
  36. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
  37. package/build/components/Rates/components/Item/components/Slider/Slider.js +11 -1
  38. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  39. package/build/components/Rates/components/ModalExtras/ModalExtras.js +31 -8
  40. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  41. package/build/components/Rates/components/ModalMapView/ModalMapView.js +25 -14
  42. package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
  43. package/build/components/Session/Session.Login.Modal.js +10 -0
  44. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  45. package/build/components/__shared__/BookingSummary/BookingSummary.constants.js +1 -3
  46. package/build/components/__shared__/BookingSummary/BookingSummary.constants.js.map +1 -1
  47. package/build/components/__shared__/BookingSummary/BookingSummary.js +0 -17
  48. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  49. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js +0 -6
  50. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js.map +1 -1
  51. package/build/components/__shared__/BookingTable/BookingTable.Row.js +2 -9
  52. package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
  53. package/build/components/__shared__/BookingTable/BookingTable.js +1 -9
  54. package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
  55. package/build/components/__shared__/BookingTerms/BookingTerms.js +1 -8
  56. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  57. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +6 -0
  58. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  59. package/build/components/helpers/constants.js +1 -0
  60. package/build/components/helpers/constants.js.map +1 -1
  61. package/build/contexts/PerfomanceManager/PerfomanceManager.js +33 -4
  62. package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
  63. package/build/index.js +2 -2
  64. package/build/index.js.map +1 -1
  65. package/package.json +1 -1
  66. package/build/components/Header/Header.constants.js +0 -9
  67. package/build/components/Header/Header.constants.js.map +0 -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","memoizeForm","Filters","_ref","clubConditions","items","propItems","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","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleAmenity","amenities","filter","item","handleOption","field","handleBookingOption","next","fetch","handleClearAll","handleSubmit","strictSearch","getStrictSearch","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","small","href","target","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","_ref2","text","type","Option","board","concat","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","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","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 } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], 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));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\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) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems);\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleAmenity = (id, value) =>\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n\n const handleOption = (field, id) => setForm({ ...form, [field]: form[field] === id ? undefined : id });\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\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);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n setCounter(countFilters(form));\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\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));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || 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).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={() => setVisible(true)} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={() => setVisible(false)}\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 small href={clubConditions} target=\"_blank\" 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={handleBookingOption}\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(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\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 underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </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={(sizeRange) => setForm({ ...form, sizeRange })}\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 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","memoizeForm","Filters","_ref","clubConditions","items","propItems","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","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleModal","next","publish","METRICS","handleAmenity","amenities","filter","item","amenity","handleOption","field","concat","handleBookingOption","fetch","handleClearAll","handleSubmit","nextCounter","strictSearch","getStrictSearch","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","small","href","target","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","_ref2","text","type","Option","board","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","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","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 } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], 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));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\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) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems);\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 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);\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.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));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || 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).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 small href={clubConditions} target=\"_blank\" 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={handleBookingOption}\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(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\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 underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </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={(sizeRange) => setForm({ ...form, sizeRange })}\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 onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -71,6 +71,12 @@ const Preview = _ref => {
71
71
  } = ref.current || {};
72
72
  if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);
73
73
  }, [isDesktop, isTablet, width]);
74
+ const handleSliderCounter = () => {
75
+ onMoreInfo && onMoreInfo();
76
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
77
+ id: 'RATES:ITEM:SLIDER:COUNTER'
78
+ });
79
+ };
74
80
  const [uniqueRate] = availableRates.filter(rate => (0, _helpers2.isClubRate)({
75
81
  board: availableBoards.filter(function () {
76
82
  let {
@@ -108,7 +114,7 @@ const Preview = _ref => {
108
114
  }),
109
115
  media: media,
110
116
  width: memoizedWidth,
111
- onCounter: !isMobile ? onMoreInfo : undefined,
117
+ onCounter: !isMobile ? handleSliderCounter : undefined,
112
118
  onViewUrl: onViewUrl,
113
119
  className: style.slider
114
120
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_helpers2","_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","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onCancellationInfo","onMoreInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","useEffect","clientWidth","current","uniqueRate","filter","rate","isClubRate","board","rateId","undefined","id","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","paragraph","INFO","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","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 { isClubRate } from '../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\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] =\n availableRates.filter((rate) =>\n isClubRate({ board: availableBoards.filter(({ rateId } = {}) => rateId === rate.id)[0], rate }),\n ).length === 0 &&\n cancellations.length === availableRates.length &&\n !highlightStandaloneOption\n ? rates\n : [];\n const [uniqueBoard] =\n boards.length === 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\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={columnMode || 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 {...{ 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={!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 </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\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 {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph 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?.restrictions.map(({ variableOffer, 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 {variableOffer && 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 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 availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\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 onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AAA2C,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE3C,MAAMK,UAAU,GAAG,CAAC;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,IAAIC,aAAa,GAAG,GAAG;AAEvB,MAAMC,OAAO,GAAGC,IAAA,IAuBV;EAAA,IAvBW;IACfC,YAAY,GAAG,CAAC;IAChBC,eAAe,GAAG,EAAE;IACpBC,cAAc,GAAG,EAAE;IACnBC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,EAAE;MACRC,UAAU,GAAG,KAAK;MAClBC,mBAAmB,GAAG,KAAK;MAC3BC,yBAAyB,GAAG,KAAK;MACjCC,OAAO,GAAG,KAAK;MACf,GAAGJ;IACL,CAAC,GAAG,CAAC,CAAC;IACNK,MAAM,GAAG,EAAE;IACXC,SAAS,GAAG,KAAK;IACjBC,KAAK;IACLC,IAAI,EAAEC,KAAK;IACXC,KAAK,GAAG,EAAE;IACVC,aAAa,GAAG,CAAC,CAAC;IAClBC,kBAAkB;IAClBC,UAAU;IACVC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IACpB,GAAGC;EACL,CAAC,GAAArB,IAAA;EACC,MAAM;IAAEsB,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IAAEC,KAAK,EAAE;MAAEC,KAAK,EAAE;QAAEC,mBAAmB,GAAG;MAAK,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEjF,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC;IAAY,CAAC,GAAGP,GAAG,CAACQ,OAAO,IAAI,CAAC,CAAC;IACzC,IAAID,WAAW,EAAExC,aAAa,GAAGwC,WAAW,IAAIZ,QAAQ,IAAI,CAACH,SAAS,GAAG3B,UAAU,GAAGC,cAAc,CAAC;EACvG,CAAC,EAAE,CAAC0B,SAAS,EAAEG,QAAQ,EAAEC,KAAK,CAAC,CAAC;EAEhC,MAAM,CAACa,UAAU,CAAC,GAChBrC,cAAc,CAACsC,MAAM,CAAEC,IAAI,IACzB,IAAAC,oBAAU,EAAC;IAAEC,KAAK,EAAE1C,eAAe,CAACuC,MAAM,CAAC;MAAA,IAAC;QAAEI;MAAO,CAAC,GAAAtD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAuD,SAAA,GAAAvD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKsD,MAAM,KAAKH,IAAI,CAACK,EAAE;IAAA,EAAC,CAAC,CAAC,CAAC;IAAEL;EAAK,CAAC,CAChG,CAAC,CAAClD,MAAM,KAAK,CAAC,IACda,aAAa,CAACb,MAAM,KAAKW,cAAc,CAACX,MAAM,IAC9C,CAACiB,yBAAyB,GACtBO,KAAK,GACL,EAAE;EACR,MAAM,CAACgC,WAAW,CAAC,GACjB5C,MAAM,CAACZ,MAAM,KAAK,CAAC,IACnBU,eAAe,CAACuC,MAAM,CAAC;IAAA,IAAC;MAAE3B;IAAK,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAuD,SAAA,GAAAvD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKuB,IAAI,KAAKZ,eAAe,CAAC,CAAC,CAAC,CAACY,IAAI;EAAA,EAAC,CAACtB,MAAM,KAAKU,eAAe,CAACV,MAAM,GACzGY,MAAM,GACN,EAAE;EACR,MAAM6C,OAAO,GAAG;IAAEC,UAAU,EAAE,IAAI;IAAEC,MAAM,EAAE,CAAC3B,QAAQ;IAAE4B,KAAK,EAAE5B;EAAS,CAAC;EACxE,MAAM;IAAE6B,UAAU;IAAEC,QAAQ,GAAG;EAAG,CAAC,GAAGrC,aAAa;EAEnD,oBACE3D,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACzB,GAAG,EAAEA,GAAI;IAAC0B,SAAS,EAAE/F,KAAK,CAACgG;EAAQ,gBACvCpG,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC/F,WAAA,CAAAmG,MAAM;IACLrC,MAAM,EAAEf,UAAU,IAAIG,OAAO,GAAGY,MAAM,IAAIG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI;IACpEd,MAAM,EAAEA,MAAM,CAACiD,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC;MAAM,CAAC,GAAAD,KAAA;MAAA,OAAKC,KAAK;IAAA,EAAE;IACzCjD,KAAK,EAAEA,KAAM;IACbc,KAAK,EAAE7B,aAAc;IACrBiE,SAAS,EAAE,CAACvC,QAAQ,GAAGL,UAAU,GAAG2B,SAAU;IAC9C1B,SAAS,EAAEA,SAAU;IACrBqC,SAAS,EAAE/F,KAAK,CAACsG;EAAO,CACzB,CAAC,eAEF1G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACS,GAAG;IAACR,SAAS,EAAE,CAAC/F,KAAK,CAACwG,MAAM,EAAExG,KAAK,CAACyG,YAAY,EAAEzG,KAAK,CAAC0G,OAAO;EAAE,gBACrE9G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC/F,WAAA,CAAA6G,QAAQ,EAAAlF,QAAA;IAAOmB;EAAQ,GAAKe,MAAM,CAAK,CAAC,EAExCT,SAAS,KAAK,KAAK,IAAIX,YAAY,IAAIkC,mBAAmB,iBACzD7E,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI;IAACC,IAAI;IAACC,KAAK;IAACpB,KAAK;EAAA,GACnBvB,SAAS,CAAC4C,UAAI,CAACC,qBAAqB,EAAE;IAAEC,MAAM,EAAE1E;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEP3C,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACC,SAAS,EAAE,CAAC/F,KAAK,CAACwG,MAAM,EAAExG,KAAK,CAACkH,GAAG,CAAE;IAAClH,KAAK,EAAE;MAAEmH,IAAI,EAAE;IAAE;EAAE,gBAC7DvH,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI;IAACC,IAAI;IAACO,KAAK;IAACC,QAAQ,EAAE,CAACvD,QAAS;IAACwD,KAAK,EAAE;EAAE,GAC5CjE,KACG,CAAC,EAEN,CAACS,QAAQ,iBAAIlE,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC/F,WAAA,CAAAyH,SAAS,EAAA9F,QAAA;IAAC+F,SAAS;IAACxB,OAAO;EAAA,GAAKrC,MAAM,CAAG,CAAC,EAExDmB,UAAU,iBACTlF,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAAjG,MAAA,CAAAa,OAAA,CAAAgH,QAAA,QACG3C,UAAU,CAAC4C,QAAQ,CAACxB,GAAG,CAAC,CAACyB,IAAI,EAAEC,KAAK,kBACnChI,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAAC9D,GAAG,EAAE4F,KAAM;IAACrB,GAAG;IAACR,SAAS,EAAE/F,KAAK,CAACuG;EAAI,gBACzC3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAoI,IAAI;IAACtD,KAAK,EAAEuD,aAAI,CAACC;EAAQ,CAAE,CAAC,eAC7BnI,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI,EAAKrB,OAAO,EAAGoC,IAAW,CAC3B,CACP,CACD,CACH,EAEArC,WAAW,IAAI,CAACxC,mBAAmB,IAAI,CAACC,yBAAyB,iBAChEnD,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACS,GAAG;IAACR,SAAS,EAAE/F,KAAK,CAACuG;EAAI,gBAC7B3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI,EAAKrB,OAAO,EAAG7C,MAAM,CAAC,CAAC,CAAC,CAACU,IAAW,CAAC,EACzCwC,QAAQ,CAAC9D,MAAM,GAAG,CAAC,iBAClBlC,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC/F,WAAA,CAAAkI,YAAY;IACXC,QAAQ,EAAErC,QAAQ,CAACM,GAAG,CAAC;MAAA,IAAC;QAAE9C;MAAK,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAuD,SAAA,GAAAvD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKuB,IAAI;IAAA,EAAE;IAChD8E,MAAM,EAAEtC,QAAQ,CAACM,GAAG,CAAC;MAAA,IAAC;QAAE3B;MAAM,CAAC,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAuD,SAAA,GAAAvD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,IAAAsG,iBAAS,EAAC5D,KAAK,CAAC;IAAA;EAAE,CAC5D,CAEC,CACP,EAEA5B,aAAa,CAACb,MAAM,KAAK,CAAC,IAAI,CAACiB,yBAAyB,iBACvDnD,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI,qBACHlG,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACS,GAAG;EAAA,gBACP3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAA2I,SAAS;IACRC,OAAO,EAAEA,CAAA,KAAM7E,kBAAkB,CAAC;MAAE,GAAGD,aAAa;MAAE+E,YAAY,EAAE3F,aAAa,CAAC,CAAC;IAAE,CAAC,CAAE;IACxFoD,SAAS,EAAE/F,KAAK,CAACuG;EAAI,gBAErB3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI,EAAKrB,OAAO,EAAG5C,aAAa,CAAC,CAAC,CAAC,CAACS,IAAW,CAAC,eACjDxD,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAoI,IAAI;IAACU,SAAS;IAAChE,KAAK,EAAEuD,aAAI,CAACU;EAAK,CAAE,CAC1B,CACP,CAAC,EACN7F,aAAa,CAAC,CAAC,CAAC,CAAC4C,OAAO,iBACvB3F,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI;IAAC6B,KAAK;IAAC/C,KAAK;EAAA,GACd/C,aAAa,CAAC,CAAC,CAAC,CAAC4C,OACd,CAEJ,CACP,EAEAT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE4D,YAAY,CAACxC,GAAG,CAAC;IAAA,IAAC;MAAEyC,aAAa;MAAEpE;IAAM,CAAC,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAuD,SAAA,GAAAvD,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE+F,KAAK,GAAA/F,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAuD,SAAA;IAAA,oBACjExF,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;MAAC9D,GAAG,EAAE4F,KAAM;MAACrB,GAAG;MAACR,SAAS,EAAE/F,KAAK,CAACuG;IAAI,gBACzC3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAoI,IAAI;MAACe,OAAO;MAACrE,KAAK,EAAEuD,aAAI,CAACe;IAAQ,CAAE,CAAC,eACrCjJ,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAmH,IAAI,EAAAnF,QAAA;MAACmH,OAAO;IAAA,GAAKrD,OAAO,GACtBhB,KACG,CAAC,EACNoE,aAAa,IAAIhD,UAAU,CAAC7D,MAAM,GAAG,CAAC,iBACrClC,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC/F,WAAA,CAAAkI,YAAY;MACXC,QAAQ,EAAEtC,UAAU,CAACO,GAAG,CAAC,MAAM/B,SAAS,CAAC4C,UAAI,CAAC+B,cAAc,CAAC,CAAE;MAC/DZ,MAAM,EAAEvC,UAAU,CAACO,GAAG,CAAE6C,IAAI,IAAK,IAAAZ,iBAAS,EAACY,IAAI,CAAC,CAAE;MAClDH,OAAO;IAAA,CACR,CAEC,CAAC;EAAA,CACR,CAAC,eAEFhJ,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAqG,IAAI;IAACS,GAAG;EAAA,gBACP3G,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpG,GAAA,CAAAuJ,MAAM;IAACtD,KAAK,EAAE5B,QAAS;IAACuE,OAAO,EAAE5E;EAAW,GAC1CU,SAAS,CAAC4C,UAAI,CAACkC,gBAAgB,CAC1B,CACJ,CACF,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA7G,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAAC8G,WAAW,GAAG,+BAA+B;AAErD9G,OAAO,CAAC+G,SAAS,GAAG;EAClB7G,YAAY,EAAE8G,kBAAS,CAACC,MAAM;EAC9B9G,eAAe,EAAE6G,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACjD/G,cAAc,EAAE4G,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EAChD9G,MAAM,EAAE2G,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACxC7G,aAAa,EAAE0G,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EAC/C5G,QAAQ,EAAEyG,kBAAS,CAACI,KAAK,CAAC;IACxB5G,UAAU,EAAEwG,kBAAS,CAACK,IAAI;IAC1B5G,mBAAmB,EAAEuG,kBAAS,CAACK,IAAI;IACnC3G,yBAAyB,EAAEsG,kBAAS,CAACK,IAAI;IACzC1G,OAAO,EAAEqG,kBAAS,CAACK;EACrB,CAAC,CAAC;EACFzG,MAAM,EAAEoG,kBAAS,CAACE,OAAO,CACvBF,kBAAS,CAACI,KAAK,CAAC;IACdE,GAAG,EAAEN,kBAAS,CAACO,MAAM;IACrBxD,KAAK,EAAEiD,kBAAS,CAACO,MAAM;IACvBC,SAAS,EAAER,kBAAS,CAACO;EACvB,CAAC,CACH,CAAC;EACD1G,SAAS,EAAEmG,kBAAS,CAACK,IAAI;EACzBvG,KAAK,EAAEkG,kBAAS,CAACI,KAAK,CAAC;IACrBK,KAAK,EAAET,kBAAS,CAACO,MAAM;IACvBG,QAAQ,EAAEV,kBAAS,CAACO;EACtB,CAAC,CAAC;EACFxG,IAAI,EAAEiG,kBAAS,CAACO,MAAM;EACtBtG,KAAK,EAAE+F,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACvCjG,aAAa,EAAE8F,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCjG,kBAAkB,EAAE6F,kBAAS,CAACW,IAAI;EAClCvG,UAAU,EAAE4F,kBAAS,CAACW,IAAI;EAC1BtG,SAAS,EAAE2F,kBAAS,CAACW;AACvB,CAAC"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_helpers2","_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","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onCancellationInfo","onMoreInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","id","uniqueRate","filter","rate","isClubRate","board","rateId","undefined","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","slider","row","offset","spaceBetween","details","Features","Text","bold","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","paragraph","INFO","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","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 { Event, 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 { EVENT, ICON } from '../../../helpers';\nimport { isClubRate } from '../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\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 handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const [uniqueRate] =\n availableRates.filter((rate) =>\n isClubRate({ board: availableBoards.filter(({ rateId } = {}) => rateId === rate.id)[0], rate }),\n ).length === 0 &&\n cancellations.length === availableRates.length &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\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={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\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={!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 </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\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 {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph 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?.restrictions.map(({ variableOffer, 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 {variableOffer && 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 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 availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\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 onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Item = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
7
8
  var _ui = require("@mirai/ui");
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -12,6 +13,7 @@ var _Item = require("./Item.Preview");
12
13
  var _Item2 = require("./Item.Rates");
13
14
  var _Item3 = require("./Item.Summary");
14
15
  var _shared__ = require("../../../__shared__");
16
+ var _helpers = require("../../../helpers");
15
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); }
16
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; }
17
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -72,6 +74,10 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
72
74
  const handleBoard = board => {
73
75
  clearSelection();
74
76
  setSelectedBoard(board);
77
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
78
+ id: 'RATES:ITEM:BOARD',
79
+ board: board.id
80
+ });
75
81
  };
76
82
  const handleCancellation = id => {
77
83
  clearSelection();
@@ -81,6 +87,10 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
81
87
  } = _ref2;
82
88
  return cancellationId === id;
83
89
  }));
90
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
91
+ id: 'RATES:ITEM:CANCELLATION',
92
+ cancellation: id
93
+ });
84
94
  };
85
95
  const handleRate = _ref3 => {
86
96
  let {
@@ -89,6 +99,10 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
89
99
  } = _ref3;
90
100
  clearSelection();
91
101
  setSelectedBoard(boards.find(board => board.cancellationId === cancellationId && board.rateId == id));
102
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
103
+ id: 'RATES:ITEM:OFFER',
104
+ offer: id
105
+ });
92
106
  };
93
107
  const findPrice = function (id) {
94
108
  let dataSource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showPricePerNight","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","valueFactor","nights","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showPricePerNight, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showPricePerNight","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","valueFactor","nights","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showPricePerNight, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ModalCancellationInfo = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
7
8
  var _locale = require("@mirai/locale");
8
9
  var _ui = require("@mirai/ui");
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
11
12
  var style = _interopRequireWildcard(require("./ModalCancellationInfo.module.css"));
13
+ var _helpers = require("../../../../../helpers");
12
14
  var _Item = require("../../Item.l10n");
13
15
  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); }
14
16
  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; }
@@ -31,6 +33,11 @@ const ModalCancellationInfo = _ref => {
31
33
  const {
32
34
  translate
33
35
  } = (0, _locale.useLocale)();
36
+ (0, _react.useEffect)(() => {
37
+ if (visible) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
38
+ id: 'RATES:ITEM:CANCELLATION_INFO'
39
+ });
40
+ }, [visible]);
34
41
  const textProps = {
35
42
  action: !isMobile,
36
43
  small: isMobile
@@ -1 +1 @@
1
- {"version":3,"file":"ModalCancellationInfo.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Item","_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","ModalCancellationInfo","_ref","cancellation","paymentConditions","title","text","name","visible","onClose","isMobile","useDevice","translate","useLocale","textProps","action","small","createElement","Modal","fit","onOverflow","className","modal","View","content","section","Text","bold","upperCase","L10N","LABEL_PAYMENT_TERMS","LABEL_CANCELLATION_POLICY","exports","propTypes","PropTypes","shape","string","bool","func","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Modal, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './ModalCancellationInfo.module.css';\nimport { L10N } from '../../Item.l10n';\n\nconst ModalCancellationInfo = ({ cancellation: { paymentConditions, title, text } = {}, name, visible, onClose }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const textProps = { action: !isMobile, small: isMobile };\n\n return (\n <Modal fit title={name} visible={visible} onClose={onClose} onOverflow={onClose} className={style.modal}>\n <View className={style.content}>\n {paymentConditions && (\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_PAYMENT_TERMS)}\n </Text>\n <Text {...textProps}>{paymentConditions}</Text>\n </View>\n )}\n\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n <Text bold {...textProps}>\n {title}\n </Text>\n <Text {...textProps}>{text}</Text>\n </View>\n </View>\n </Modal>\n );\n};\n\nModalCancellationInfo.propTypes = {\n cancellation: PropTypes.shape({\n text: PropTypes.string,\n title: PropTypes.string,\n }),\n name: PropTypes.string,\n paymentConditions: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nModalCancellationInfo.displayName = 'Mirai:Core:Rates:Item:ModalCancellationInfo';\n\nexport { ModalCancellationInfo };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalCancellationInfo.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_Item","_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","ModalCancellationInfo","_ref","cancellation","paymentConditions","title","text","name","visible","onClose","isMobile","useDevice","translate","useLocale","useEffect","Event","publish","EVENT","METRICS","id","textProps","action","small","createElement","Modal","fit","onOverflow","className","modal","View","content","section","Text","bold","upperCase","L10N","LABEL_PAYMENT_TERMS","LABEL_CANCELLATION_POLICY","exports","propTypes","PropTypes","shape","string","bool","func","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport * as style from './ModalCancellationInfo.module.css';\nimport { EVENT } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst ModalCancellationInfo = ({ cancellation: { paymentConditions, title, text } = {}, name, visible, onClose }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n useEffect(() => {\n if (visible) Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION_INFO' });\n }, [visible]);\n\n const textProps = { action: !isMobile, small: isMobile };\n\n return (\n <Modal fit title={name} visible={visible} onClose={onClose} onOverflow={onClose} className={style.modal}>\n <View className={style.content}>\n {paymentConditions && (\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_PAYMENT_TERMS)}\n </Text>\n <Text {...textProps}>{paymentConditions}</Text>\n </View>\n )}\n\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n <Text bold {...textProps}>\n {title}\n </Text>\n <Text {...textProps}>{text}</Text>\n </View>\n </View>\n </Modal>\n );\n};\n\nModalCancellationInfo.propTypes = {\n cancellation: PropTypes.shape({\n text: PropTypes.string,\n title: PropTypes.string,\n }),\n name: PropTypes.string,\n paymentConditions: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nModalCancellationInfo.displayName = 'Mirai:Core:Rates:Item:ModalCancellationInfo';\n\nexport { ModalCancellationInfo };\n"],"mappings":"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"}
@@ -50,6 +50,9 @@ const ModalInfo = _ref => {
50
50
  const [visible, setVisible] = (0, _react.useState)(propVisible);
51
51
  (0, _react.useEffect)(() => {
52
52
  setVisible(propVisible);
53
+ if (propVisible) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
54
+ id: 'RATES:ITEM:INFO'
55
+ });
53
56
  }, [propVisible]);
54
57
  const handleClose = () => {
55
58
  setVisible(false);
@@ -101,6 +104,7 @@ const ModalInfo = _ref => {
101
104
  return large;
102
105
  }),
103
106
  media: media,
107
+ metrics: "RATES:ITEM:INFO",
104
108
  width: 738,
105
109
  onViewUrl: onViewUrl,
106
110
  className: style.slider