@mirai/core 0.3.356 → 0.3.358

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 (110) hide show
  1. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +34 -34
  2. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +260 -260
  3. package/build/components/Booking/components/Field/__tests__/__snapshots__/Field.test.js.snap +36 -36
  4. package/build/components/Booking/partials/Booking.ModalAgency.js +1 -0
  5. package/build/components/Booking/partials/Booking.ModalAgency.js.map +1 -1
  6. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +148 -148
  7. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +108 -108
  8. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +302 -302
  9. package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +30 -30
  10. package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +24 -24
  11. package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +68 -68
  12. package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +74 -74
  13. package/build/components/Chat/components/Message/components/Environment.module.css +1 -1
  14. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +376 -376
  15. package/build/components/Checkout/components/InputRadio/__tests__/__snapshots__/InputRadio.test.js.snap +112 -112
  16. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +588 -588
  17. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +788 -764
  18. package/build/components/Deals/Deals.js +2 -1
  19. package/build/components/Deals/Deals.js.map +1 -1
  20. package/build/components/Deals/Deals.module.css +1 -1
  21. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +1893 -1893
  22. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +2936 -2884
  23. package/build/components/Finder/Finder.compact.js +7 -4
  24. package/build/components/Finder/Finder.compact.js.map +1 -1
  25. package/build/components/Finder/Finder.js +3 -3
  26. package/build/components/Finder/Finder.js.map +1 -1
  27. package/build/components/Finder/Finder.module.css +3 -3
  28. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +8430 -8428
  29. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +5063 -4646
  30. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +115 -115
  31. package/build/components/Header/Header.js +2 -1
  32. package/build/components/Header/Header.js.map +1 -1
  33. package/build/components/Header/Header.module.css +1 -1
  34. package/build/components/Profile/components/Bookings/__tests__/__snapshots__/Bookings.test.js.snap +6 -6
  35. package/build/components/Rates/Rates.Unavailability.js +2 -1
  36. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  37. package/build/components/Rates/Rates.js +8 -8
  38. package/build/components/Rates/Rates.js.map +1 -1
  39. package/build/components/Rates/Rates.module.css +2 -2
  40. package/build/components/Rates/components/CardHotel/CardHotel.js +2 -1
  41. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  42. package/build/components/Rates/components/CardHotel/CardHotel.module.css +1 -1
  43. package/build/components/Rates/components/ClubRate/ClubRate.js +11 -4
  44. package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
  45. package/build/components/Rates/components/ClubRate/ClubRate.module.css +4 -0
  46. package/build/components/Rates/components/Filters/Filters.js +1 -1
  47. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  48. package/build/components/Rates/components/Item/Item.Rates.js +15 -7
  49. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  50. package/build/components/Rates/components/Item/Item.js +10 -1
  51. package/build/components/Rates/components/Item/Item.js.map +1 -1
  52. package/build/components/Rates/components/Item/Item.module.css +5 -4
  53. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +7 -9
  54. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  55. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +5 -1
  56. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +0 -1
  57. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  58. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.module.css +1 -1
  59. package/build/components/Rates/components/Item/components/Slider/Slider.js +8 -4
  60. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  61. package/build/components/Rates/components/Item/components/Slider/Slider.module.css +2 -2
  62. package/build/components/Rates/components/Item/components/TooltipDates/TooltipDates.module.css +2 -2
  63. package/build/components/Rates/components/ModalExtras/ModalExtras.js +2 -1
  64. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  65. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +6 -5
  66. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +320 -315
  67. package/build/components/Signup/Signup.js +4 -2
  68. package/build/components/Signup/Signup.js.map +1 -1
  69. package/build/components/Signup/Signup.module.css +1 -1
  70. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +279 -279
  71. package/build/components/__shared__/BookingDates/__tests__/__snapshots__/BookingDates.test.js.snap +74 -74
  72. package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +991 -991
  73. package/build/components/__shared__/BookingSummary/_tests__/__snapshots__/BookingSummary.test.js.snap +316 -316
  74. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +200 -200
  75. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +320 -320
  76. package/build/components/__shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap +144 -144
  77. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +12 -12
  78. package/build/components/__shared__/ButtonPayment/__tests__/__snapshots__/ButtonPayment.test.js.snap +32 -32
  79. package/build/components/__shared__/ButtonPayment/components/FormAddon/__tests__/__snapshots__/FormAddon.test.js.snap +12 -12
  80. package/build/components/__shared__/ButtonPayment/components/FormCheckout/__tests__/__snapshots__/FormCheckout.test.js.snap +129 -129
  81. package/build/components/__shared__/ButtonPayment/components/FormPaycomet/__tests__/__snapshots__/FormPaycomet.test.js.snap +45 -45
  82. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +30 -30
  83. package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +51 -51
  84. package/build/components/__shared__/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +8 -8
  85. package/build/components/__shared__/Field/__tests__/__snapshots__/Field.test.js.snap +219 -219
  86. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +513 -513
  87. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +1 -0
  88. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  89. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +59 -59
  90. package/build/components/__shared__/Footer/Footer.js +11 -10
  91. package/build/components/__shared__/Footer/Footer.js.map +1 -1
  92. package/build/components/__shared__/Footer/Footer.module.css +2 -2
  93. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +60 -60
  94. package/build/components/__shared__/Occupation/Occupation.Group.js +2 -1
  95. package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
  96. package/build/components/__shared__/Occupation/Occupation.module.css +3 -3
  97. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +732 -732
  98. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +319 -313
  99. package/build/components/__shared__/Payment/components/Aplazame/__tests__/__snapshots__/Aplazame.test.js.snap +7 -7
  100. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +231 -231
  101. package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +140 -140
  102. package/build/components/__shared__/Payment/components/Tpv/__tests__/__snapshots__/Tpv.test.js.snap +27 -27
  103. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +4 -2
  104. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  105. package/build/components/__shared__/SelectEnvironment/__tests__/__snapshots__/SelectEnvironment.test.js.snap +53 -53
  106. package/build/components/__shared__/TextRequiredFields/__tests__/__snapshots__/TextRequiredFields.test.js.snap +6 -6
  107. package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +104 -104
  108. package/build/helpers/consolidateStore.js +1 -2
  109. package/build/helpers/consolidateStore.js.map +1 -1
  110. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","Filters","_ref","clubConditions","items","propItems","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","nextFilters","JSON","stringify","handleAmenity","amenities","filter","item","handleOption","field","handleBookingOption","next","fetch","handleClearAll","handleSubmit","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","concat","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId },\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n const nextFilters = getAvailableFilters(propItems);\n setItems(propItems);\n\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleAmenity = (id, value) =>\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n\n const handleOption = (field, id) => setForm({ ...form, [field]: form[field] === id ? undefined : id });\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n setCounter(countFilters(form));\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={() => setVisible(true)} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={() => setVisible(false)}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={0} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(sizeRange) => setForm({ ...form, sizeRange })}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","Filters","_ref","clubConditions","items","propItems","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleAmenity","amenities","filter","item","handleOption","field","handleBookingOption","next","fetch","handleClearAll","handleSubmit","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","concat","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId },\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems);\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleAmenity = (id, value) =>\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n\n const handleOption = (field, id) => setForm({ ...form, [field]: form[field] === id ? undefined : id });\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n setCounter(countFilters(form));\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={() => setVisible(true)} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={() => setVisible(false)}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={0} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(sizeRange) => setForm({ ...form, sizeRange })}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
@@ -78,16 +78,24 @@ const Rates = _ref => {
78
78
  ...cancellation
79
79
  } = _ref3;
80
80
  return /*#__PURE__*/_react.default.createElement(_components.Option, {
81
- highlight: highlight,
82
81
  key: id,
83
82
  caption: caption,
84
83
  checked: id === cancellationId,
85
84
  inline: has.inlineCancellations,
86
85
  outlined: hideRadio,
87
- title: name,
88
86
  value: !showOffersFirst ? price : undefined,
89
87
  onPress: () => onCancellation(id)
90
- }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
88
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
89
+ action: !isMobile,
90
+ medium: highlight,
91
+ small: isMobile,
92
+ className: style.optionText
93
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
94
+ action: !isMobile,
95
+ medium: highlight,
96
+ small: isMobile,
97
+ className: (0, _ui.styles)(highlight && style.tag)
98
+ }, name), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
91
99
  onPress: () => onCancellationInfo({
92
100
  ...selectedBoard,
93
101
  cancellation
@@ -95,7 +103,7 @@ const Rates = _ref => {
95
103
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
96
104
  paragraph: true,
97
105
  value: _helpers.ICON.INFO
98
- })));
106
+ }))));
99
107
  })));
100
108
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showOffersFirst && renderCancellations(), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
101
109
  className: [style.offset, style.gap]
@@ -145,17 +153,17 @@ const Rates = _ref => {
145
153
  medium: hideRadio,
146
154
  action: !isMobile,
147
155
  small: isMobile,
148
- className: style.offerText
156
+ className: style.optionText
149
157
  }, isClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
150
158
  action: !isMobile,
151
159
  medium: true,
152
160
  small: isMobile,
153
- className: [style.rate, style.highlight]
161
+ className: [style.tag, style.highlight]
154
162
  }, translate(_Item.L10N.LABEL_ONLY_MEMBERS)), discountPercentage && /*#__PURE__*/_react.default.createElement(_ui.Text, {
155
163
  action: !isMobile,
156
164
  medium: true,
157
165
  small: isMobile,
158
- className: style.rate
166
+ className: style.tag
159
167
  }, translate(_Item.L10N.LABEL_DISCOUNT, {
160
168
  value: "".concat(discountPercentage, "%")
161
169
  })), name, (description || included.length > 0) && /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","inlineBoards","inlineCancellations","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","title","value","onPress","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","discountPercentage","included","isClub","restrictions","rate","find","RateDetails","arguments","medium","small","offerText","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","styles","LABEL_ACCOMMODATION_PLAN","board","increment","variants","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { 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';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards: boards.length > 1 || highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates: cancellations.length !== availableRates.length || highlightStandaloneOption,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n highlight={highlight}\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\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 action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n description,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => {\n const rate = rates.find((rate) => rate.id === id);\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo(rate),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.offerText}>\n {isClub && (\n <Text action={!isMobile} medium small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo(rate)}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </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 inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\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 highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\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":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","inlineBoards","inlineCancellations","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","value","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","discountPercentage","included","isClub","restrictions","rate","find","RateDetails","arguments","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","board","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { 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';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards: boards.length > 1 || highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates: cancellations.length !== availableRates.length || highlightStandaloneOption,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\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 action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n description,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => {\n const rate = rates.find((rate) => rate.id === id);\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo(rate),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n {isClub && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo(rate)}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </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 inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\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 highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\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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"}
@@ -22,6 +22,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
22
22
  cancellations = [],
23
23
  features = {},
24
24
  filters = {},
25
+ metaBoard,
25
26
  multiRoom,
26
27
  rates = [],
27
28
  selected,
@@ -39,6 +40,11 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
39
40
  if (!selectedBoard) updateSelectedBoard();
40
41
  // eslint-disable-next-line react-hooks/exhaustive-deps
41
42
  }, [boards]);
43
+ (0, _react.useEffect)(() => {
44
+ if (!metaBoard || boards.length < 1) return;
45
+ setSelectedBoard(metaBoard);
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ }, [metaBoard]);
42
48
  (0, _react.useEffect)(() => {
43
49
  onPreview && touched && onPreview({
44
50
  ...selectedBoard,
@@ -165,7 +171,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
165
171
  columnMode,
166
172
  rowMode,
167
173
  disabled: isSoldOut,
168
- focus: selected && selected.id === id
174
+ focus: selected && selected.id === id || metaBoard && boards.find(item => (metaBoard === null || metaBoard === void 0 ? void 0 : metaBoard.id) === item.id)
169
175
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
170
176
  ref: ref,
171
177
  row: rowMode,
@@ -185,6 +191,9 @@ Item.propTypes = {
185
191
  cancellations: _propTypes.default.arrayOf(_propTypes.default.shape({})),
186
192
  features: _propTypes.default.shape({}),
187
193
  filters: _propTypes.default.shape({}),
194
+ metaBoard: _propTypes.default.shape({
195
+ id: _propTypes.default.string
196
+ }),
188
197
  multiRoom: _propTypes.default.bool,
189
198
  rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
190
199
  selected: _propTypes.default.shape({
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","bool","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card {...{ columnMode, rowMode }} disabled={isSoldOut} focus={selected && selected.id === id}>\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -71,26 +71,27 @@
71
71
  flex: 1;
72
72
  }
73
73
 
74
- .card .offerText {
74
+ .card .optionText {
75
75
  margin-right: calc(var(--mirai-ui-space-M) + var(--mirai-ui-space-XS));
76
76
  position: relative;
77
77
  }
78
78
 
79
- .card .offerText [data-role='pressable'] {
79
+ .card .optionText [data-role='pressable'] {
80
80
  margin-left: var(--mirai-ui-space-XXS);
81
81
  position: absolute;
82
82
  }
83
83
 
84
- .card .offerText .rate {
84
+ .card .optionText .tag {
85
85
  background-color: var(--mirai-ui-success-background);
86
86
  color: var(--mirai-ui-success);
87
87
  border-radius: var(--mirai-ui-space-XXS);
88
88
  padding: 0 var(--mirai-ui-space-XXS);
89
89
  margin-right: var(--mirai-ui-space-XXS);
90
+ margin-left: calc(var(--mirai-ui-space-XXS) * -1);
90
91
  width: fit-content;
91
92
  }
92
93
 
93
- .card .offerText .rate.highlight {
94
+ .card .optionText .tag.highlight {
94
95
  background-color: var(--mirai-ui-accent);
95
96
  color: var(--mirai-ui-base);
96
97
  }
@@ -16,11 +16,9 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  const Amenities = _ref => {
18
18
  let {
19
- accent = false,
20
19
  amenities = [],
21
20
  highlight = false,
22
- preview = false,
23
- ...others
21
+ preview = false
24
22
  } = _ref;
25
23
  const {
26
24
  isMobile
@@ -32,10 +30,10 @@ const Amenities = _ref => {
32
30
  let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
33
31
  return !highlight && !item.highlight || highlight && item.highlight;
34
32
  }).slice(0, preview ? 3 : undefined);
35
- const oversized = highlight && !preview && !isMobile;
33
+ const oversized = !isMobile && highlight && !preview;
36
34
  return values.length ? /*#__PURE__*/_react.default.createElement(_ui.View, {
37
35
  row: oversized,
38
- className: (0, _ui.styles)(highlight ? oversized ? style.oversized : style.list : style.columns, others.className)
36
+ className: (0, _ui.styles)(oversized ? style.oversized : preview ? style.list : style.columns)
39
37
  }, values.sort(function () {
40
38
  let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
41
39
  let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -53,7 +51,7 @@ const Amenities = _ref => {
53
51
  row: !oversized,
54
52
  className: style.content
55
53
  }, highlight || preview ? /*#__PURE__*/_react.default.createElement(_ui.Icon, {
56
- accent: accent,
54
+ accent: oversized,
57
55
  value: exclusive ? _helpers.ICON.PREMIUM : _helpers.ICON[id] || _helpers.ICON.AMENITY,
58
56
  headline: true,
59
57
  level: oversized ? 2 : 3
@@ -63,8 +61,9 @@ const Amenities = _ref => {
63
61
  action: !oversized && !isMobile,
64
62
  small: !oversized && isMobile,
65
63
  tiny: oversized,
66
- className: (0, _ui.styles)(style.text, (highlight || preview) && style.textDoubleLine)
67
- }, text.substring(0, oversized ? 24 : undefined).trim()), !highlight && exclusive && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
64
+ className: (0, _ui.styles)(style.text, (oversized || !preview) && style.textDoubleLine),
65
+ "aria-label": text
66
+ }, text), !highlight && exclusive && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
68
67
  text: translate(_Amenities.L10N.LABEL_ONLY_FOR_ROOM)
69
68
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
70
69
  value: _helpers.ICON.PREMIUM
@@ -73,7 +72,6 @@ const Amenities = _ref => {
73
72
  };
74
73
  exports.Amenities = Amenities;
75
74
  Amenities.propTypes = {
76
- accent: _propTypes.default.bool,
77
75
  amenities: _propTypes.default.arrayOf(_propTypes.default.shape({
78
76
  exclusive: _propTypes.default.bool,
79
77
  highlight: _propTypes.default.bool,
@@ -1 +1 @@
1
- {"version":3,"file":"Amenities.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_Amenities","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Amenities","_ref","accent","amenities","highlight","preview","others","isMobile","useDevice","translate","useLocale","values","filter","item","arguments","length","undefined","slice","oversized","createElement","View","row","className","styles","list","columns","sort","b","exclusive","map","id","text","index","key","content","Icon","value","ICON","PREMIUM","AMENITY","headline","level","Text","small","action","tiny","textDoubleLine","substring","trim","Tooltip","L10N","LABEL_ONLY_FOR_ROOM","exports","propTypes","PropTypes","bool","arrayOf","shape","number","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Amenities/Amenities.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Amenities.l10n';\nimport * as style from './Amenities.module.css';\nimport { ICON } from '../../../../../helpers';\n\nconst Amenities = ({ accent = false, amenities = [], highlight = false, preview = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const values = amenities\n .filter((item = {}) => (!highlight && !item.highlight) || (highlight && item.highlight))\n .slice(0, preview ? 3 : undefined);\n\n const oversized = highlight && !preview && !isMobile;\n\n return values.length ? (\n <View\n row={oversized}\n className={styles(highlight ? (oversized ? style.oversized : style.list) : style.columns, others.className)}\n >\n {values\n .sort((a = {}, b = {}) => {\n if (a.exclusive === b.exclusive) return 0;\n return a.exclusive ? -1 : 1;\n })\n .map(({ exclusive, id, text } = {}, index) => (\n <View key={index} row={!oversized} className={style.content}>\n {highlight || preview ? (\n <Icon\n accent={accent}\n value={exclusive ? ICON.PREMIUM : ICON[id] || ICON.AMENITY}\n headline\n level={oversized ? 2 : 3}\n />\n ) : (\n <Text small>•</Text>\n )}\n <Text\n action={!oversized && !isMobile}\n small={!oversized && isMobile}\n tiny={oversized}\n className={styles(style.text, (highlight || preview) && style.textDoubleLine)}\n >\n {text.substring(0, oversized ? 24 : undefined).trim()}\n </Text>\n {!highlight && exclusive && (\n <Tooltip text={translate(L10N.LABEL_ONLY_FOR_ROOM)}>\n <Icon value={ICON.PREMIUM} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n ) : null;\n};\n\nAmenities.propTypes = {\n accent: PropTypes.bool,\n amenities: PropTypes.arrayOf(\n PropTypes.shape({\n exclusive: PropTypes.bool,\n highlight: PropTypes.bool,\n id: PropTypes.number,\n text: PropTypes.string,\n }),\n ),\n highlight: PropTypes.bool,\n preview: PropTypes.bool,\n};\n\nAmenities.displayName = 'Mirai:Core:Rates:Item:Amenities';\n\nexport { Amenities };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Amenities.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_Amenities","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Amenities","_ref","amenities","highlight","preview","isMobile","useDevice","translate","useLocale","values","filter","item","arguments","length","undefined","slice","oversized","createElement","View","row","className","styles","list","columns","sort","b","exclusive","map","id","text","index","key","content","Icon","accent","value","ICON","PREMIUM","AMENITY","headline","level","Text","small","action","tiny","textDoubleLine","Tooltip","L10N","LABEL_ONLY_FOR_ROOM","exports","propTypes","PropTypes","arrayOf","shape","bool","number","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Amenities/Amenities.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Amenities.l10n';\nimport * as style from './Amenities.module.css';\nimport { ICON } from '../../../../../helpers';\n\nconst Amenities = ({ amenities = [], highlight = false, preview = false }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const values = amenities\n .filter((item = {}) => (!highlight && !item.highlight) || (highlight && item.highlight))\n .slice(0, preview ? 3 : undefined);\n\n const oversized = !isMobile && highlight && !preview;\n\n return values.length ? (\n <View row={oversized} className={styles(oversized ? style.oversized : preview ? style.list : style.columns)}>\n {values\n .sort((a = {}, b = {}) => {\n if (a.exclusive === b.exclusive) return 0;\n return a.exclusive ? -1 : 1;\n })\n .map(({ exclusive, id, text } = {}, index) => (\n <View key={index} row={!oversized} className={style.content}>\n {highlight || preview ? (\n <Icon\n accent={oversized}\n value={exclusive ? ICON.PREMIUM : ICON[id] || ICON.AMENITY}\n headline\n level={oversized ? 2 : 3}\n />\n ) : (\n <Text small>•</Text>\n )}\n <Text\n action={!oversized && !isMobile}\n small={!oversized && isMobile}\n tiny={oversized}\n className={styles(style.text, (oversized || !preview) && style.textDoubleLine)}\n aria-label={text}\n >\n {text}\n </Text>\n {!highlight && exclusive && (\n <Tooltip text={translate(L10N.LABEL_ONLY_FOR_ROOM)}>\n <Icon value={ICON.PREMIUM} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n ) : null;\n};\n\nAmenities.propTypes = {\n amenities: PropTypes.arrayOf(\n PropTypes.shape({\n exclusive: PropTypes.bool,\n highlight: PropTypes.bool,\n id: PropTypes.number,\n text: PropTypes.string,\n }),\n ),\n highlight: PropTypes.bool,\n preview: PropTypes.bool,\n};\n\nAmenities.displayName = 'Mirai:Core:Rates:Item:Amenities';\n\nexport { Amenities };\n"],"mappings":"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"}
@@ -1,5 +1,9 @@
1
+ .columns {
2
+ align-items: flex-start;
3
+ gap: var(--mirai-ui-space-XXS);
4
+ }
5
+
1
6
  .columns > * {
2
- align-items: start;
3
7
  gap: var(--mirai-ui-space-XS);
4
8
  }
5
9
 
@@ -168,7 +168,6 @@ const ModalInfo = _ref => {
168
168
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
169
169
  bold: true
170
170
  }, translate(_Item.L10N.LABEL_TOP_AMENITIES)), /*#__PURE__*/_react.default.createElement(_Amenities.Amenities, {
171
- accent: true,
172
171
  amenities: highlightAmenities,
173
172
  highlight: true
174
173
  })), amenities.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {