@mirai/core 0.4.364 → 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 (73) 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/Chat.js +7 -5
  4. package/build/components/Chat/Chat.js.map +1 -1
  5. package/build/components/Chat/components/Message/Message.Requirement.js.map +1 -1
  6. package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
  7. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js +1 -1
  8. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js.map +1 -1
  9. package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -1
  10. package/build/components/Chat/helpers/getAgents.js +12 -0
  11. package/build/components/Chat/helpers/getAgents.js.map +1 -0
  12. package/build/components/Chat/helpers/index.js +11 -0
  13. package/build/components/Chat/helpers/index.js.map +1 -1
  14. package/build/components/Checkout/Checkout.skeleton.js.map +1 -1
  15. package/build/components/Finder/Finder.compact.js.map +1 -1
  16. package/build/components/Finder/Finder.js.map +1 -1
  17. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  18. package/build/components/Finder/helpers/getPlacesOptions.js +1 -1
  19. package/build/components/Finder/helpers/getPlacesOptions.js.map +1 -1
  20. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  21. package/build/components/Rates/components/Filters/Filters.js +1 -1
  22. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  23. package/build/components/Rates/components/Item/Item.Rates.js +2 -2
  24. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  25. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js +1 -1
  26. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js.map +1 -1
  27. package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -1
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  29. package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
  30. package/build/components/Rates/components/OTAPrices/OTAPrices.js +1 -1
  31. package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
  32. package/build/components/Rates/helpers/getFeatures.js +1 -1
  33. package/build/components/Rates/helpers/getFeatures.js.map +1 -1
  34. package/build/components/Session/helpers/getDomain.js +3 -1
  35. package/build/components/Session/helpers/getDomain.js.map +1 -1
  36. package/build/components/__shared__/ButtonPayment/helpers/toUrlParams.js +1 -1
  37. package/build/components/__shared__/ButtonPayment/helpers/toUrlParams.js.map +1 -1
  38. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  39. package/build/components/__shared__/Occupation/helpers/consolidateValue.js +1 -1
  40. package/build/components/__shared__/Occupation/helpers/consolidateValue.js.map +1 -1
  41. package/build/components/__shared__/Payment/components/PCI/helpers/getStyle.js +1 -1
  42. package/build/components/__shared__/Payment/components/PCI/helpers/getStyle.js.map +1 -1
  43. package/build/components/__shared__/RatesExplorer/RatesExplorer.skeleton.js.map +1 -1
  44. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js.map +1 -1
  45. package/build/components/helpers/opacity.js +3 -3
  46. package/build/components/helpers/opacity.js.map +1 -1
  47. package/build/components/helpers/toQueryString.js +1 -1
  48. package/build/components/helpers/toQueryString.js.map +1 -1
  49. package/build/components/helpers/toUrlParams.js +1 -1
  50. package/build/components/helpers/toUrlParams.js.map +1 -1
  51. package/build/contexts/EventManager/EventManager.js +1 -1
  52. package/build/contexts/EventManager/EventManager.js.map +1 -1
  53. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js +1 -1
  54. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js.map +1 -1
  55. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js +1 -1
  56. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js.map +1 -1
  57. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +1 -1
  58. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
  59. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +2 -2
  60. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
  61. package/build/helpers/consolidateStore.js +1 -1
  62. package/build/helpers/consolidateStore.js.map +1 -1
  63. package/build/helpers/getClub.js +9 -4
  64. package/build/helpers/getClub.js.map +1 -1
  65. package/build/helpers/getTags.js +1 -1
  66. package/build/helpers/getTags.js.map +1 -1
  67. package/build/helpers/polyfills.js +1 -1
  68. package/build/helpers/polyfills.js.map +1 -1
  69. package/build/helpers/theme.js +3 -1
  70. package/build/helpers/theme.js.map +1 -1
  71. package/build/index.js +3 -1
  72. package/build/index.js.map +1 -1
  73. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","finder","from","to","metrics","dateDiff","days","getOccupationTotals","METRICS","id","currency","accommodationType","hotelAccommodationType","variants","cardImageHeight","getCardImageHeight","handleCalendar","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","underline","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getCardImageHeight, getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, getOccupationTotals, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n const { finder: { calendar: [from, to] = [], occupation = [] } = {} } = store;\n const metrics = { from, to, nights: dateDiff(from, to).days, ...getOccupationTotals({ occupation }) };\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:RENDER', ...metrics });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n const cardImageHeight = getCardImageHeight();\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>—</Text>\n <Text bold headline>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action>{`${dateDiff(from, to).days} ${translate(L10N.LABEL_NIGHTS)}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n cardImageHeight={cardImageHeight}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","finder","from","to","metrics","dateDiff","days","getOccupationTotals","METRICS","id","currency","accommodationType","hotelAccommodationType","variants","cardImageHeight","getCardImageHeight","handleCalendar","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","underline","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getCardImageHeight, getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport {\n EVENT,\n getAccommodationLabel,\n getOccupationLabel,\n getOccupationTotals,\n ICON,\n OCCUPATION_TYPE,\n} from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n const { finder: { calendar: [from, to] = [], occupation = [] } = {} } = store;\n const metrics = { from, to, nights: dateDiff(from, to).days, ...getOccupationTotals({ occupation }) };\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:RENDER', ...metrics });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n const cardImageHeight = getCardImageHeight();\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>—</Text>\n <Text bold headline>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action>{`${dateDiff(from, to).days} ${translate(L10N.LABEL_NIGHTS)}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n cardImageHeight={cardImageHeight}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -145,7 +145,7 @@ const Filters = _ref => {
145
145
  // eslint-disable-next-line react-hooks/exhaustive-deps
146
146
  }, [values]);
147
147
  const handleModal = () => {
148
- let next = !visible;
148
+ const next = !visible;
149
149
  setVisible(next);
150
150
  if (next) {
151
151
  _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
@@ -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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"}