@mirai/core 0.4.365 → 0.4.366

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/Booking/Booking.skeleton.js.map +1 -1
  2. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  3. package/build/components/Chat/components/Message/Message.Requirement.js.map +1 -1
  4. package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
  5. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js +1 -1
  6. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js.map +1 -1
  7. package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -1
  8. package/build/components/Checkout/Checkout.skeleton.js.map +1 -1
  9. package/build/components/Finder/Finder.compact.js.map +1 -1
  10. package/build/components/Finder/Finder.js.map +1 -1
  11. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  12. package/build/components/Finder/helpers/getPlacesOptions.js +1 -1
  13. package/build/components/Finder/helpers/getPlacesOptions.js.map +1 -1
  14. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  15. package/build/components/Rates/components/Filters/Filters.js +1 -1
  16. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  17. package/build/components/Rates/components/Item/Item.Rates.js +2 -2
  18. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  19. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js +1 -1
  20. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js.map +1 -1
  21. package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -1
  22. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  23. package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
  24. package/build/components/Rates/components/OTAPrices/OTAPrices.js +1 -1
  25. package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
  26. package/build/components/Rates/helpers/getFeatures.js +1 -1
  27. package/build/components/Rates/helpers/getFeatures.js.map +1 -1
  28. package/build/components/Session/helpers/getDomain.js +3 -1
  29. package/build/components/Session/helpers/getDomain.js.map +1 -1
  30. package/build/components/__shared__/ButtonPayment/helpers/toUrlParams.js +1 -1
  31. package/build/components/__shared__/ButtonPayment/helpers/toUrlParams.js.map +1 -1
  32. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  33. package/build/components/__shared__/Occupation/helpers/consolidateValue.js +1 -1
  34. package/build/components/__shared__/Occupation/helpers/consolidateValue.js.map +1 -1
  35. package/build/components/__shared__/Payment/components/PCI/helpers/getStyle.js +1 -1
  36. package/build/components/__shared__/Payment/components/PCI/helpers/getStyle.js.map +1 -1
  37. package/build/components/__shared__/RatesExplorer/RatesExplorer.skeleton.js.map +1 -1
  38. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js.map +1 -1
  39. package/build/components/helpers/opacity.js +3 -3
  40. package/build/components/helpers/opacity.js.map +1 -1
  41. package/build/components/helpers/toQueryString.js +1 -1
  42. package/build/components/helpers/toQueryString.js.map +1 -1
  43. package/build/components/helpers/toUrlParams.js +1 -1
  44. package/build/components/helpers/toUrlParams.js.map +1 -1
  45. package/build/contexts/EventManager/EventManager.js +1 -1
  46. package/build/contexts/EventManager/EventManager.js.map +1 -1
  47. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js +1 -1
  48. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js.map +1 -1
  49. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js +1 -1
  50. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js.map +1 -1
  51. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +1 -1
  52. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
  53. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +2 -2
  54. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
  55. package/build/helpers/consolidateStore.js +1 -1
  56. package/build/helpers/consolidateStore.js.map +1 -1
  57. package/build/helpers/getClub.js +9 -4
  58. package/build/helpers/getClub.js.map +1 -1
  59. package/build/helpers/getTags.js +1 -1
  60. package/build/helpers/getTags.js.map +1 -1
  61. package/build/helpers/polyfills.js +1 -1
  62. package/build/helpers/polyfills.js.map +1 -1
  63. package/build/helpers/theme.js +3 -1
  64. package/build/helpers/theme.js.map +1 -1
  65. package/build/index.js +3 -1
  66. package/build/index.js.map +1 -1
  67. package/package.json +2 -2
@@ -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","currentPlace","memoizeForm","timeoutRange","Filters","_ref","_ref3","clubDiscount","items","propItems","priceFactor","values","onOpen","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","place","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","offer","undefined","roomType","countFilters","priceRange","strictSearch","getStrictSearch","JSON","stringify","setNextState","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_PROMOCODE","unsubscribe","nextFilters","keys","length","handleModal","next","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","offerName","map","rates","rateId","deals","includes","split","_ref4","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","getBookingOptions","BookingOption","key","checked","roomName","toUpperCase","onChange","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref5","text","type","Option","board","outlined","option","prices","InputRange","caption","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref6","Amenity","label","action","textOthers","LABEL_OTHERS","_ref7","Action","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","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 { DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getBookingOptions, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet currentPlace;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({\n clubDiscount,\n items: propItems = [],\n priceFactor = 1,\n values,\n onOpen = () => {},\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 { place, 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\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\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 if (!place || (currentPlace !== undefined && JSON.stringify(currentPlace) === JSON.stringify(place))) return;\n\n if (currentPlace !== undefined) {\n setForm(DEFAULT_FORM);\n setCounter(countFilters(DEFAULT_FORM));\n onSubmit(DEFAULT_FORM);\n }\n currentPlace = place;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\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) {\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n onOpen();\n }\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 { offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM });\n\n (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 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 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 const { name: offerName } =\n (has.offer &&\n items?.map(({ boards = [], rates = [] } = {}) => {\n const { rateId } = boards.find(({ deals = [] } = {}) => deals.includes(idoffers.split(',')[0])) || {};\n\n return rates.find(({ id }) => id === rateId);\n }))?.[0] || {};\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 {getBookingOptions(!!idoffers && idoffers.split(',').length === 1)\n .filter(({ field } = {}) => has[field])\n .map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, offerName, 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 items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n values: PropTypes.shape({}),\n onOpen: PropTypes.func,\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","currentPlace","memoizeForm","timeoutRange","Filters","_ref","_ref3","clubDiscount","items","propItems","priceFactor","values","onOpen","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","place","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","offer","undefined","roomType","countFilters","priceRange","strictSearch","getStrictSearch","JSON","stringify","setNextState","setClubPromocode","_ref2","Event","subscribe","EVENT","RATES_FILTER_PROMOCODE","unsubscribe","nextFilters","keys","length","handleModal","next","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","offerName","map","rates","rateId","deals","includes","split","_ref4","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","getBookingOptions","BookingOption","key","checked","roomName","toUpperCase","onChange","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref5","text","type","Option","board","outlined","option","prices","InputRange","caption","LABEL_SET_PRICE_RANGE","LABEL_NIGHTLY_PRICES","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref6","Amenity","label","action","textOthers","LABEL_OTHERS","_ref7","Action","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","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 { DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getBookingOptions, getStrictSearch } from './helpers';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet currentCurrency;\nlet currentPlace;\nlet memoizeForm;\nlet timeoutRange;\n\nconst Filters = ({\n clubDiscount,\n items: propItems = [],\n priceFactor = 1,\n values,\n onOpen = () => {},\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 { place, 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\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\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 if (!place || (currentPlace !== undefined && JSON.stringify(currentPlace) === JSON.stringify(place))) return;\n\n if (currentPlace !== undefined) {\n setForm(DEFAULT_FORM);\n setCounter(countFilters(DEFAULT_FORM));\n onSubmit(DEFAULT_FORM);\n }\n currentPlace = place;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const setNextState = (nextForm) => {\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n const setClubPromocode = ({ promocode }) => setNextState({ ...form, promocode });\n\n Event.subscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_PROMOCODE, setClubPromocode);\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 const next = !visible;\n\n setVisible(next);\n if (next) {\n Event.publish(EVENT.METRICS, { id: 'RATES:FILTERS', counter });\n onOpen();\n }\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 { offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm({ ...DEFAULT_FORM });\n\n (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 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 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 const { name: offerName } =\n (has.offer &&\n items?.map(({ boards = [], rates = [] } = {}) => {\n const { rateId } = boards.find(({ deals = [] } = {}) => deals.includes(idoffers.split(',')[0])) || {};\n\n return rates.find(({ id }) => id === rateId);\n }))?.[0] || {};\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 {getBookingOptions(!!idoffers && idoffers.split(',').length === 1)\n .filter(({ field } = {}) => has[field])\n .map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, offerName, 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 items: PropTypes.arrayOf(PropTypes.shape({})),\n priceFactor: PropTypes.number,\n values: PropTypes.shape({}),\n onOpen: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -139,12 +139,12 @@ const Rates = _ref => {
139
139
  restrictions
140
140
  } = _ref4;
141
141
  const rate = rates.find(rate => rate.id === id);
142
- const board = availableBoards.filter(function () {
142
+ const [board] = availableBoards.filter(function () {
143
143
  let {
144
144
  rateId
145
145
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
146
146
  return rateId === id;
147
- })[0];
147
+ });
148
148
  const {
149
149
  confidential,
150
150
  deals = [],
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","hideStandaloneBoard","showOffersFirst","showRateIncluded","id","idItem","priceFactor","promocodeForAll","rates","selectedBoard","uniqueOption","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","hasBasePrice","find","arguments","inline","concat","outlined","onPress","action","medium","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","board","confidential","deals","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","percentage","promoPercentage","offerPercentage","DEAL","RateDetails","tags","LABEL_DISCOUNT","Math","round","small","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n id: idItem,\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n uniqueOption = false,\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n cancellations: cancellations.length > 0,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_CANCELLATION_POLICY)}</Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n hasBasePrice={!!cancellations.find(({ price } = {}) => !price)}\n inline={has.inlineCancellations}\n name={`Cancellation ${idItem}`}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={!uniqueOption ? () => onCancellation(id) : undefined}\n >\n <Text action medium={highlight} className={style.optionText}>\n {highlight ? (\n <Text action medium={highlight} className={styles(highlight && style.tag)}>\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_OFFER)}</Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, deals = [], discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (deals.length > 0 && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n hasBasePrice={!!rates.find(({ price } = {}) => !price)}\n name={`Rate ${idItem}`}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={!uniqueOption ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action medium className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text bold>{translate(L10N.LABEL_ACCOMMODATION_PLAN)}</Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n hasBasePrice={!!boards.find(({ increment } = {}) => !increment)}\n inline={has.inlineBoards}\n name={`Board ${idItem}`}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={!uniqueOption ? () => onBoard(board) : undefined}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\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 showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n id: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n uniqueOption: PropTypes.bool,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","hideStandaloneBoard","showOffersFirst","showRateIncluded","id","idItem","priceFactor","promocodeForAll","rates","selectedBoard","uniqueOption","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","hasBasePrice","find","arguments","inline","concat","outlined","onPress","action","medium","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","board","confidential","deals","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","percentage","promoPercentage","offerPercentage","DEAL","RateDetails","tags","LABEL_DISCOUNT","Math","round","small","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n id: idItem,\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n uniqueOption = false,\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n cancellations: cancellations.length > 0,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_CANCELLATION_POLICY)}</Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n hasBasePrice={!!cancellations.find(({ price } = {}) => !price)}\n inline={has.inlineCancellations}\n name={`Cancellation ${idItem}`}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={!uniqueOption ? () => onCancellation(id) : undefined}\n >\n <Text action medium={highlight} className={style.optionText}>\n {highlight ? (\n <Text action medium={highlight} className={styles(highlight && style.tag)}>\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text bold>{translate(L10N.LABEL_OFFER)}</Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const [board] = availableBoards.filter(({ rateId } = {}) => rateId === id);\n const { confidential, deals = [], discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (deals.length > 0 && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n hasBasePrice={!!rates.find(({ price } = {}) => !price)}\n name={`Rate ${idItem}`}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={!uniqueOption ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action medium className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text bold>{translate(L10N.LABEL_ACCOMMODATION_PLAN)}</Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n hasBasePrice={!!boards.find(({ increment } = {}) => !increment)}\n inline={has.inlineBoards}\n name={`Board ${idItem}`}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={!uniqueOption ? () => onBoard(board) : undefined}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\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 showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n id: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n uniqueOption: PropTypes.bool,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
@@ -34,7 +34,7 @@ const getPrices = _ref => {
34
34
  let basePrice = 0;
35
35
  let fees = 0;
36
36
  let taxes = taxesExtras;
37
- let breakdown = [];
37
+ const breakdown = [];
38
38
  cart.forEach(cartItem => {
39
39
  if (!cartItem) return;
40
40
  basePrice += cartItem.basePrice;
@@ -1 +1 @@
1
- {"version":3,"file":"getPrices.js","names":["getPrices","_ref","cart","extras","taxesExtras","reduce","total","_value","amount","nights","valueAmount","valueNights","value","arguments","length","undefined","taxes","totalBaseExtras","_value2","basePrice","fees","breakdown","forEach","cartItem","discount","current","find","type","push","exports"],"sources":["../../../../../../../../src/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js"],"sourcesContent":["export const getPrices = ({ cart = [], extras = [] }) => {\n const taxesExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.taxes || 0),\n 0,\n );\n const totalBaseExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.basePrice || 0),\n 0,\n );\n\n let basePrice = 0;\n let fees = 0;\n let taxes = taxesExtras;\n let breakdown = [];\n\n cart.forEach((cartItem) => {\n if (!cartItem) return;\n\n basePrice += cartItem.basePrice;\n fees += cartItem.fees || 0;\n taxes += cartItem.taxes || 0;\n cartItem.discount.breakdown.forEach((discount) => {\n const current = breakdown.find(({ type } = {}) => type === discount.type);\n\n if (!current) breakdown.push({ ...discount });\n else current.value += discount.value;\n });\n });\n\n return { basePrice, discount: { breakdown }, fees, taxes, totalBaseExtras };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAGC,IAAA,IAAgC;EAAA,IAA/B;IAAEC,IAAI,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAAF,IAAA;EAClD,MAAMG,WAAW,GAAGD,MAAM,CAACE,MAAM,CAC/B,UAACC,KAAK;IAAA,IAAAC,MAAA;IAAA,IAAE;MAAEC,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAC,MAAA,GAAAK,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAF,MAAA,uBAAnDA,MAAA,CAAqDS,KAAK,KAAI,CAAC,CAAC;EAAA,GAC3E,CACF,CAAC;EACD,MAAMC,eAAe,GAAGd,MAAM,CAACE,MAAM,CACnC,UAACC,KAAK;IAAA,IAAAY,OAAA;IAAA,IAAE;MAAEV,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAY,OAAA,GAAAN,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAS,OAAA,uBAAnDA,OAAA,CAAqDC,SAAS,KAAI,CAAC,CAAC;EAAA,GAC/E,CACF,CAAC;EAED,IAAIA,SAAS,GAAG,CAAC;EACjB,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIJ,KAAK,GAAGZ,WAAW;EACvB,IAAIiB,SAAS,GAAG,EAAE;EAElBnB,IAAI,CAACoB,OAAO,CAAEC,QAAQ,IAAK;IACzB,IAAI,CAACA,QAAQ,EAAE;IAEfJ,SAAS,IAAII,QAAQ,CAACJ,SAAS;IAC/BC,IAAI,IAAIG,QAAQ,CAACH,IAAI,IAAI,CAAC;IAC1BJ,KAAK,IAAIO,QAAQ,CAACP,KAAK,IAAI,CAAC;IAC5BO,QAAQ,CAACC,QAAQ,CAACH,SAAS,CAACC,OAAO,CAAEE,QAAQ,IAAK;MAChD,MAAMC,OAAO,GAAGJ,SAAS,CAACK,IAAI,CAAC;QAAA,IAAC;UAAEC;QAAK,CAAC,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKc,IAAI,KAAKH,QAAQ,CAACG,IAAI;MAAA,EAAC;MAEzE,IAAI,CAACF,OAAO,EAAEJ,SAAS,CAACO,IAAI,CAAC;QAAE,GAAGJ;MAAS,CAAC,CAAC,CAAC,KACzCC,OAAO,CAACb,KAAK,IAAIY,QAAQ,CAACZ,KAAK;IACtC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IAAEO,SAAS;IAAEK,QAAQ,EAAE;MAAEH;IAAU,CAAC;IAAED,IAAI;IAAEJ,KAAK;IAAEC;EAAgB,CAAC;AAC7E,CAAC;AAACY,OAAA,CAAA7B,SAAA,GAAAA,SAAA"}
1
+ {"version":3,"file":"getPrices.js","names":["getPrices","_ref","cart","extras","taxesExtras","reduce","total","_value","amount","nights","valueAmount","valueNights","value","arguments","length","undefined","taxes","totalBaseExtras","_value2","basePrice","fees","breakdown","forEach","cartItem","discount","current","find","type","push","exports"],"sources":["../../../../../../../../src/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js"],"sourcesContent":["export const getPrices = ({ cart = [], extras = [] }) => {\n const taxesExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.taxes || 0),\n 0,\n );\n const totalBaseExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.basePrice || 0),\n 0,\n );\n\n let basePrice = 0;\n let fees = 0;\n let taxes = taxesExtras;\n const breakdown = [];\n\n cart.forEach((cartItem) => {\n if (!cartItem) return;\n\n basePrice += cartItem.basePrice;\n fees += cartItem.fees || 0;\n taxes += cartItem.taxes || 0;\n cartItem.discount.breakdown.forEach((discount) => {\n const current = breakdown.find(({ type } = {}) => type === discount.type);\n\n if (!current) breakdown.push({ ...discount });\n else current.value += discount.value;\n });\n });\n\n return { basePrice, discount: { breakdown }, fees, taxes, totalBaseExtras };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAGC,IAAA,IAAgC;EAAA,IAA/B;IAAEC,IAAI,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAAF,IAAA;EAClD,MAAMG,WAAW,GAAGD,MAAM,CAACE,MAAM,CAC/B,UAACC,KAAK;IAAA,IAAAC,MAAA;IAAA,IAAE;MAAEC,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAC,MAAA,GAAAK,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAF,MAAA,uBAAnDA,MAAA,CAAqDS,KAAK,KAAI,CAAC,CAAC;EAAA,GAC3E,CACF,CAAC;EACD,MAAMC,eAAe,GAAGd,MAAM,CAACE,MAAM,CACnC,UAACC,KAAK;IAAA,IAAAY,OAAA;IAAA,IAAE;MAAEV,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAY,OAAA,GAAAN,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAS,OAAA,uBAAnDA,OAAA,CAAqDC,SAAS,KAAI,CAAC,CAAC;EAAA,GAC/E,CACF,CAAC;EAED,IAAIA,SAAS,GAAG,CAAC;EACjB,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIJ,KAAK,GAAGZ,WAAW;EACvB,MAAMiB,SAAS,GAAG,EAAE;EAEpBnB,IAAI,CAACoB,OAAO,CAAEC,QAAQ,IAAK;IACzB,IAAI,CAACA,QAAQ,EAAE;IAEfJ,SAAS,IAAII,QAAQ,CAACJ,SAAS;IAC/BC,IAAI,IAAIG,QAAQ,CAACH,IAAI,IAAI,CAAC;IAC1BJ,KAAK,IAAIO,QAAQ,CAACP,KAAK,IAAI,CAAC;IAC5BO,QAAQ,CAACC,QAAQ,CAACH,SAAS,CAACC,OAAO,CAAEE,QAAQ,IAAK;MAChD,MAAMC,OAAO,GAAGJ,SAAS,CAACK,IAAI,CAAC;QAAA,IAAC;UAAEC;QAAK,CAAC,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKc,IAAI,KAAKH,QAAQ,CAACG,IAAI;MAAA,EAAC;MAEzE,IAAI,CAACF,OAAO,EAAEJ,SAAS,CAACO,IAAI,CAAC;QAAE,GAAGJ;MAAS,CAAC,CAAC,CAAC,KACzCC,OAAO,CAACb,KAAK,IAAIY,QAAQ,CAACZ,KAAK;IACtC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IAAEO,SAAS;IAAEK,QAAQ,EAAE;MAAEH;IAAU,CAAC;IAAED,IAAI;IAAEJ,KAAK;IAAEC;EAAgB,CAAC;AAC7E,CAAC;AAACY,OAAA,CAAA7B,SAAA,GAAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Extras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Extras","_ref","extras","propExtras","onChange","isMobile","isTablet","width","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","handleChange","id","field","arguments","length","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","filter","_ref3","included","Event","publish","EVENT","METRICS","concat","_ref4","_ref5","hasSelected","item","place","standaloneCard","spaceM","cardWidth","createElement","Slider","visibleItems","className","slider","accommodationThreshold","amount","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","nights","text","title","type","valueAmount","valueNights","price","total","View","key","wide","styles","card","standalone","maxWidth","minWidth","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","L10N","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","row","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","minimumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","exports","propTypes","PropTypes","any","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/Extras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Notification, Slider, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\n\nconst Extras = ({ extras: propExtras = [], onChange = () => {} }) => {\n const { isMobile, isTablet, width } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n onChange(next.filter(({ included, selected }) => !!selected || included));\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n\n const spaceM = 16;\n const cardWidth = isMobile ? width - spaceM * 4 : isTablet ? width / 2 - spaceM * 2 : 320;\n\n return (\n <Slider visibleItems={isMobile ? 1 : isTablet ? 2 : 2.5} width={cardWidth} className={style.slider}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n style={{ maxWidth: cardWidth, minWidth: cardWidth }}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, minimumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </Slider>\n );\n};\n\nExtras.propTypes = {\n extras: PropTypes.any,\n onChange: PropTypes.func,\n};\n\nExtras.displayName = 'Mirai:Core:Rates:Extras';\n\nexport { Extras };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Extras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Extras","_ref","extras","propExtras","onChange","isMobile","isTablet","width","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","handleChange","id","field","arguments","length","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","filter","_ref3","included","Event","publish","EVENT","METRICS","concat","_ref4","_ref5","hasSelected","item","place","standaloneCard","spaceM","cardWidth","createElement","Slider","visibleItems","className","slider","accommodationThreshold","amount","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","nights","text","title","type","valueAmount","valueNights","price","total","View","key","wide","styles","card","standalone","maxWidth","minWidth","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","L10N","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","row","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","minimumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","exports","propTypes","PropTypes","any","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/Extras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Notification, Slider, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel } from '../../../helpers';\n\nconst Extras = ({ extras: propExtras = [], onChange = () => {} }) => {\n const { isMobile, isTablet, width } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n onChange(next.filter(({ included, selected }) => !!selected || included));\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n\n const spaceM = 16;\n const cardWidth = isMobile ? width - spaceM * 4 : isTablet ? width / 2 - spaceM * 2 : 320;\n\n return (\n <Slider visibleItems={isMobile ? 1 : isTablet ? 2 : 2.5} width={cardWidth} className={style.slider}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n style={{ maxWidth: cardWidth, minWidth: cardWidth }}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, minimumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </Slider>\n );\n};\n\nExtras.propTypes = {\n extras: PropTypes.any,\n onChange: PropTypes.func,\n};\n\nExtras.displayName = 'Mirai:Core:Rates:Extras';\n\nexport { Extras };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}