@mirai/core 0.3.307 → 0.3.309

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 (54) hide show
  1. package/build/components/Booking/Booking.js +1 -3
  2. package/build/components/Booking/Booking.js.map +1 -1
  3. package/build/components/Checkout/Checkout.js +1 -3
  4. package/build/components/Checkout/Checkout.js.map +1 -1
  5. package/build/components/Finder/Finder.js +1 -1
  6. package/build/components/Finder/Finder.js.map +1 -1
  7. package/build/components/Finder/helpers/setStorage.js +3 -3
  8. package/build/components/Finder/helpers/setStorage.js.map +1 -1
  9. package/build/components/Header/Header.js +1 -1
  10. package/build/components/Header/Header.js.map +1 -1
  11. package/build/components/Rates/Rates.Header.js +7 -1
  12. package/build/components/Rates/Rates.Header.js.map +1 -1
  13. package/build/components/Rates/Rates.Unavailability.js +9 -4
  14. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  15. package/build/components/Rates/Rates.js +15 -5
  16. package/build/components/Rates/Rates.js.map +1 -1
  17. package/build/components/Rates/Rates.l10n.js +3 -0
  18. package/build/components/Rates/Rates.l10n.js.map +1 -1
  19. package/build/components/Rates/Rates.module.css +1 -0
  20. package/build/components/Rates/components/CardHotel/CardHotel.js +46 -13
  21. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  22. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
  23. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
  24. package/build/components/Rates/components/CardHotel/CardHotel.module.css +22 -0
  25. package/build/components/Rates/components/Item/Item.js +2 -2
  26. package/build/components/Rates/components/Item/Item.js.map +1 -1
  27. package/build/components/Rates/components/ModalMapView/ModalMapView.js +268 -0
  28. package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -0
  29. package/build/components/Rates/components/ModalMapView/ModalMapView.l10n.js +18 -0
  30. package/build/components/Rates/components/ModalMapView/ModalMapView.l10n.js.map +1 -0
  31. package/build/components/Rates/components/ModalMapView/ModalMapView.module.css +93 -0
  32. package/build/components/Rates/components/ModalMapView/helpers/customMarker.js +36 -0
  33. package/build/components/Rates/components/ModalMapView/helpers/customMarker.js.map +1 -0
  34. package/build/components/Rates/components/ModalMapView/helpers/index.js +28 -0
  35. package/build/components/Rates/components/ModalMapView/helpers/index.js.map +1 -0
  36. package/build/components/Rates/components/ModalMapView/helpers/loadGMaps.js +18 -0
  37. package/build/components/Rates/components/ModalMapView/helpers/loadGMaps.js.map +1 -0
  38. package/build/components/Rates/components/ModalMapView/index.js +17 -0
  39. package/build/components/Rates/components/ModalMapView/index.js.map +1 -0
  40. package/build/components/Rates/components/index.js +11 -0
  41. package/build/components/Rates/components/index.js.map +1 -1
  42. package/build/helpers/consolidateStore.js +1 -1
  43. package/build/helpers/consolidateStore.js.map +1 -1
  44. package/build/index.js +1 -0
  45. package/build/index.js.map +1 -1
  46. package/build/services/Rates/extras.js +3 -186
  47. package/build/services/Rates/extras.js.map +1 -1
  48. package/build/services/Rates/extrasParsed.js +197 -0
  49. package/build/services/Rates/extrasParsed.js.map +1 -0
  50. package/build/services/Rates/get.js +7 -1
  51. package/build/services/Rates/get.js.map +1 -1
  52. package/build/services/Rates/helpers/getCalendarSuggestions.js +13 -1
  53. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","_ref","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","price","stars","taxes","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","tags","options","places","useStore","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","handlePress","find","isHotel","ids","arguments","length","undefined","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","caption","action","small","createElement","Card","View","className","card","Slider","height","slider","row","offset","spaceBetween","Icon","ICON","LOCATION","Text","bold","headline","level","Array","from","Action","getHotelUrl","inline","target","L10N","ACTION_VIEW_HOTEL","summary","accent","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","currencyFormat","maximumFractionDigits","capitalize","tiny","LABEL_PER_NIGHT","light","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","Button","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { ICON, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\nimport { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0, // !\n features: { distance, location, url } = {},\n hasDiscountClub = false, // !\n id,\n images = [],\n name,\n price,\n stars = 3, // !\n taxes = true, // !\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, tags: { options: places = [] } = {} } = {} } = useStore();\n\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n const caption = { action: !isMobile, small: isMobile };\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View>\n <Slider height={208} images={images} width={sliderWidth} className={style.slider} />\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>{distance}</Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action href={getHotelUrl(url)} inline small={isMobile} target=\"_blank\">\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text capitalize small={!isMobile} tiny={isMobile}>\n {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n </View>\n\n <Button onPress={handlePress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","_ref","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","stars","taxes","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","handlePress","find","isHotel","ids","arguments","length","undefined","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","caption","action","small","placeId","title","placeName","hotelName","createElement","Card","View","className","card","preview","Slider","height","slider","row","Text","bold","L10N","LABEL_CLUB_MEMBERS","offset","spaceBetween","Icon","ICON","LOCATION","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","inline","target","ACTION_VIEW_HOTEL","summary","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","Button","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { ICON, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\n stars,\n taxes,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n const caption = { action: !isMobile, small: isMobile };\n const { features } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} width={sliderWidth} className={style.slider} />\n\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action href={getHotelUrl(url)} inline small={isMobile} target=\"_blank\">\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n </View>\n\n <Button onPress={handlePress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n};\n\nexport { CardHotel };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAF,uBAAA,CAAAN,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AAA4C,SAAAe,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAApB,uBAAAgC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAE5C,MAAMC,aAAa,GAAG,GAAG;AAEzB,MAAMC,SAAS,GAAGC,IAAA,IAWZ;EAAA,IAXa;IACjBC,kBAAkB,GAAG,CAAC;IACtBC,QAAQ,EAAE;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC;IAAI,CAAC,GAAG,CAAC,CAAC;IAC1CC,eAAe,GAAG,KAAK;IACvBC,EAAE;IACFC,MAAM,GAAG,EAAE;IACXC,IAAI;IACJC,MAAM,GAAG,CAAC;IACVC,KAAK;IACLC,KAAK;IACLC;EACF,CAAC,GAAAb,IAAA;EACC,MAAM;IAAEc,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACzC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IAAEC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEC,SAAS,GAAG,CAAC,CAAC;MAAEC,KAAK;MAAEnB,EAAE,EAAEoB,OAAO;MAAEC,IAAI,EAAE;QAAEC,OAAO,EAAEC,MAAM,GAAG;MAAG,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GACjH,IAAAC,qBAAQ,EAAC,CAAC;EAEZ,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAACpC,aAAa,CAAC;EAE7D,IAAAqC,gBAAS,EAAC,MAAM;IAAA,IAAAC,YAAA;IACd,IAAIhB,GAAG,CAACiB,OAAO,EAAEJ,cAAc,CAAC,EAAAG,YAAA,GAAAhB,GAAG,CAACiB,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,WAAW,IAAG,CAAC,CAAC;EAC/D,CAAC,EAAE,CAACvB,KAAK,CAAC,CAAC;EAEX,MAAMwB,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAEjB;IAAM,CAAC,GAAGQ,MAAM,CAACU,IAAI,CAAC;MAAA,IAAC;QAAEC,OAAO;QAAElC,EAAE,EAAEmC,GAAG,GAAG;MAAG,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKF,OAAO,IAAIC,GAAG,CAACI,QAAQ,CAACvC,EAAE,CAACwC,QAAQ,CAAC,CAAC,CAAC;IAAA,EAAC,IAAI,CAAC,CAAC;IAE/GC,MAAM,CAAC5C,QAAQ,CAAC6C,IAAI,MAAAC,MAAA,CAAMzB,SAAS,CAAC0B,KAAK,EAAAD,MAAA,CAAG,IAAAE,qBAAW,EAAC;MACtD,GAAG,IAAAC,wBAAc,EAACL,MAAM,CAAC5C,QAAQ,CAACkD,MAAM,CAAC;MACzC,GAAG,IAAAC,yBAAe,EAAC;QAAE,GAAG/B,MAAM;QAAE,GAAG;UAAEgC,KAAK,EAAE;YAAEjD,EAAE,EAAEsC,SAAS;YAAEvB;UAAM;QAAE,CAAC;QAAEI;MAAM,CAAC,CAAC;MAChF+B,eAAe,EAAElD;IACnB,CAAC,CAAC,CAAE;EACN,CAAC;EAED,MAAMmD,OAAO,GAAG;IAAEC,MAAM,EAAE,CAAC7C,QAAQ;IAAE8C,KAAK,EAAE9C;EAAS,CAAC;EACtD,MAAM;IAAEZ;EAAS,CAAC,GAAGwB,KAAK,IAAI,CAAC,CAAC;EAChC,MAAM;IAAE8B,KAAK,EAAE;MAAEjD,EAAE,EAAE,CAACsD,OAAO,CAAC,GAAG,EAAE;MAAEpB,OAAO;MAAEqB,KAAK,EAAEC;IAAU,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGvC,MAAM,IAAI,CAAC,CAAC;EACtF,MAAM;IAAEf,IAAI,EAAEuD;EAAU,CAAC,GAAG,CAACH,OAAO,GAAIpB,OAAO,GAAGvC,QAAQ,CAAC2D,OAAO,CAAC,GAAG;IAAEpD,IAAI,EAAEsD;EAAU,CAAC,GAAI7D,QAAQ,CAACyB,OAAO,CAAC,KAAK,CAAC,CAAC;EAErH,oBACE7D,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAAC7F,SAAA,CAAA8F,IAAI,qBACHpG,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAAC/C,GAAG,EAAEA,GAAI;IAACgD,SAAS,EAAEnG,KAAK,CAACoG;EAAK,gBACpCvG,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACC,SAAS,EAAEnG,KAAK,CAACqG;EAAQ,gBAC7BxG,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAAC1F,WAAA,CAAAgG,MAAM;IAACC,MAAM,EAAE,GAAI;IAAChE,MAAM,EAAEA,MAAO;IAACO,KAAK,EAAEiB,WAAY;IAACoC,SAAS,EAAEnG,KAAK,CAACwG;EAAO,CAAE,CAAC,eAEpF3G,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACO,GAAG;IAACN,SAAS,EAAEnG,KAAK,CAAC2D;EAAK,GAC7BtB,eAAe,iBACdxC,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACC,IAAI;IAAChB,KAAK;EAAA,GACb1C,SAAS,CAAC2D,eAAI,CAACC,kBAAkB,CAC9B,CAEJ,CACF,CAAC,EAEN3E,QAAQ,iBACPrC,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACO,GAAG;IAACN,SAAS,EAAE,CAACnG,KAAK,CAAC8G,MAAM,EAAE9G,KAAK,CAAC+G,YAAY;EAAE,gBACtDlH,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACO,GAAG;IAACN,SAAS,EAAEnG,KAAK,CAACyG;EAAI,gBAC7B5G,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAsH,IAAI;IAAC3D,KAAK,EAAE4D,cAAI,CAACC;EAAS,CAAE,CAAC,eAC9BrH,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACf,KAAK;EAAA,GACR1C,SAAS,CAAC2D,eAAI,CAACO,cAAc,EAAE;IAC9BjF,QAAQ,EAAEkF,IAAI,CAACC,YAAY,CAACrE,MAAM,EAAE;MAClChD,KAAK,EAAE,MAAM;MACbsH,IAAI,EAAE,WAAW;MACjBC,qBAAqB,EAAE,CAAC;MACxBC,qBAAqB,EAAE;IACzB,CAAC,CAAC,CAACC,MAAM,CAACvF,QAAQ,CAAC;IACnBM,IAAI,EAAEuD;EACR,CAAC,CACG,CACF,CACF,CACP,eAEDlG,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACC,SAAS,EAAEnG,KAAK,CAAC8G;EAAO,gBAC5BjH,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACC,IAAI;IAACe,QAAQ,EAAE,CAAC7E,QAAS;IAAC8E,KAAK,EAAE;EAAE,GACtCnF,IACG,CAAC,EACNG,KAAK,GAAG,CAAC,iBACR9C,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACgB,QAAQ,EAAE,CAAC7E,QAAS;IAAC8E,KAAK,EAAE;EAAE,GACjCC,KAAK,CAACC,IAAI,CAAC;IAAElD,MAAM,EAAEhC;EAAM,CAAC,EAAE,MAAM,GAAG,CACpC,CACP,eAED9C,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI,EAAKjB,OAAO,EAAGtD,QAAe,CAAC,EAEnCC,GAAG,iBACFvC,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAoI,MAAM;IAAC9C,IAAI,EAAE,IAAA+C,oBAAW,EAAC3F,GAAG,CAAE;IAAC4F,MAAM;IAACrC,KAAK,EAAE9C,QAAS;IAACoF,MAAM,EAAC;EAAQ,GACpEhF,SAAS,CAAC2D,eAAI,CAACsB,iBAAiB,CAC3B,CAEN,CAAC,eAEPrI,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACO,GAAG;IAACN,SAAS,EAAE,CAACnG,KAAK,CAAC8G,MAAM,EAAE9G,KAAK,CAAC+G,YAAY,EAAE/G,KAAK,CAACmI,OAAO;EAAE,gBACrEtI,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAwG,IAAI,qBACHrG,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAAC0B,MAAM;IAACzB,IAAI;IAAChB,KAAK;EAAA,GACpB1C,SAAS,CAAC2D,eAAI,CAACyB,cAAc,EAAE;IAAEhF,KAAK,KAAA4B,MAAA,CAAKjD,kBAAkB;EAAI,CAAC,CAC/D,CAAC,eAEPnC,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACC,IAAI;IAACe,QAAQ;IAACC,KAAK,EAAE9E,QAAQ,IAAIH,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;EAAE,GAC3D,IAAA4F,sBAAc,EAAC;IAAEhF,QAAQ;IAAEN,MAAM;IAAEwE,qBAAqB,EAAE,CAAC;IAAEnE,KAAK,EAAEX;EAAM,CAAC,CACxE,CAAC,eAEP7C,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAACf,KAAK,EAAE,CAAC9C,QAAS;IAAC0F,IAAI,EAAE1F;EAAS,GACpC,IAAAyF,sBAAc,EAAC;IAAEhF,QAAQ;IAAED,KAAK,EAAEX,KAAK,GAAGD;EAAO,CAAC,CAAC,EAAC,GAAC,EAACQ,SAAS,CAAC2D,eAAI,CAAC4B,eAAe,CACjF,CAAC,eAEP3I,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAgH,IAAI;IAAC+B,KAAK;IAAC9C,KAAK,EAAE,CAAC9C,QAAS;IAAC0F,IAAI,EAAE1F;EAAS,GAC1CI,SAAS,CAAC,IAAAyF,uBAAa,EAAC9F,KAAK,CAAC,CAC3B,CACF,CAAC,eAEP/C,MAAA,CAAAgB,OAAA,CAAAmF,aAAA,CAACtG,GAAA,CAAAiJ,MAAM;IAACC,OAAO,EAAEtE;EAAY,GAAErB,SAAS,CAAC2D,eAAI,CAACiC,gBAAgB,CAAU,CACpE,CACF,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAhH,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACiH,WAAW,GAAG,4BAA4B;AAEpDjH,SAAS,CAACkH,SAAS,GAAG;EACpBhH,kBAAkB,EAAEiH,kBAAS,CAACC,MAAM;EACpCjH,QAAQ,EAAEgH,kBAAS,CAACE,KAAK,CAAC;IACxBjH,QAAQ,EAAE+G,kBAAS,CAACG,MAAM;IAC1BjH,QAAQ,EAAE8G,kBAAS,CAACG,MAAM;IAC1BhH,GAAG,EAAE6G,kBAAS,CAACG;EACjB,CAAC,CAAC;EACF/G,eAAe,EAAE4G,kBAAS,CAACI,IAAI;EAC/B/G,EAAE,EAAE2G,kBAAS,CAACK,SAAS,CAAC,CAACL,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACG,MAAM,CAAC,CAAC;EAC7D7G,MAAM,EAAE0G,kBAAS,CAACM,OAAO,CAACN,kBAAS,CAACG,MAAM,CAAC;EAC3C5G,IAAI,EAAEyG,kBAAS,CAACG,MAAM;EACtB3G,MAAM,EAAEwG,kBAAS,CAACC,MAAM;EACxBxG,KAAK,EAAEuG,kBAAS,CAACC,MAAM;EACvBvG,KAAK,EAAEsG,kBAAS,CAACC,MAAM;EACvBtG,KAAK,EAAEqG,kBAAS,CAACC;AACnB,CAAC"}
@@ -17,6 +17,9 @@ const L10N = exports.L10N = {
17
17
  LABEL_DISCOUNT: {
18
18
  id: 'finder.label.discount'
19
19
  },
20
+ LABEL_DISTANCE: {
21
+ id: 'finder.label.distance'
22
+ },
20
23
  LABEL_EXCLUDES_TAXES_FEES: {
21
24
  id: 'finder.label.excludes_taxes_fees'
22
25
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CardHotel.l10n.js","names":["L10N","exports","ACTION_VIEW_MORE","id","ACTION_VIEW_HOTEL","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","LABEL_PER_NIGHT"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n ACTION_VIEW_HOTEL: { id: 'common.action.view_hotel' },\n\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EAErDE,kBAAkB,EAAE;IAAEF,EAAE,EAAE;EAA4B,CAAC;EACvDG,cAAc,EAAE;IAAEH,EAAE,EAAE;EAAwB,CAAC;EAC/CI,yBAAyB,EAAE;IAAEJ,EAAE,EAAE;EAAmC,CAAC;EACrEK,yBAAyB,EAAE;IAAEL,EAAE,EAAE;EAAmC,CAAC;EACrEM,eAAe,EAAE;IAAEN,EAAE,EAAE;EAAyB;AAClD,CAAC"}
1
+ {"version":3,"file":"CardHotel.l10n.js","names":["L10N","exports","ACTION_VIEW_MORE","id","ACTION_VIEW_HOTEL","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","LABEL_DISTANCE","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","LABEL_PER_NIGHT"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n ACTION_VIEW_HOTEL: { id: 'common.action.view_hotel' },\n\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISTANCE: { id: 'finder.label.distance' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EAErDE,kBAAkB,EAAE;IAAEF,EAAE,EAAE;EAA4B,CAAC;EACvDG,cAAc,EAAE;IAAEH,EAAE,EAAE;EAAwB,CAAC;EAC/CI,cAAc,EAAE;IAAEJ,EAAE,EAAE;EAAwB,CAAC;EAC/CK,yBAAyB,EAAE;IAAEL,EAAE,EAAE;EAAmC,CAAC;EACrEM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB;AAClD,CAAC"}
@@ -36,6 +36,28 @@
36
36
  margin-bottom: var(--mirai-ui-space-XXS);
37
37
  }
38
38
 
39
+ .preview {
40
+ position: relative;
41
+ }
42
+
43
+ .preview .tags {
44
+ gap: var(--mirai-ui-space-XS);
45
+ left: 0;
46
+ margin: var(--mirai-ui-space-S);
47
+ position: absolute;
48
+ top: 0;
49
+ }
50
+
51
+ .preview .tags > [data-role='text'] {
52
+ align-items: center;
53
+ background-color: var(--mirai-ui-accent);
54
+ border-radius: var(--mirai-ui-border-radius);
55
+ color: var(--mirai-ui-base);
56
+ display: flex;
57
+ gap: var(--mirai-ui-space-XXS);
58
+ padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XS);
59
+ }
60
+
39
61
  /* S */
40
62
  @media only screen and (max-width: 480px) {
41
63
  .card .gap {
@@ -103,12 +103,12 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
103
103
  const cancellationPrice = findPrice(cancellationId, cancellations);
104
104
  const ratePrice = findPrice(rateId, rates);
105
105
  const visibleBoards = boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId);
106
- const isSoldOut = others.soldOut && Object.values(others.cart || {}).filter(function () {
106
+ const isSoldOut = others.soldOut && (rates.length === 0 || Object.values(others.cart || {}).filter(function () {
107
107
  let {
108
108
  roomId
109
109
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
110
110
  return roomId === (selectedBoard === null || selectedBoard === void 0 ? void 0 : selectedBoard.roomId);
111
- }).length > 0 && (selected === null || selected === void 0 ? void 0 : selected.id) != id;
111
+ }).length > 0 && (selected === null || selected === void 0 ? void 0 : selected.id) != id);
112
112
  const props = {
113
113
  ...others,
114
114
  availableBoards: boards,
@@ -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","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","id","cancellationId","rateId","nextBoard","find","board","roomId","roomName","name","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 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 (selectedBoard) return;\n\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 // 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 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 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 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","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","id","cancellationId","rateId","nextBoard","find","board","roomId","roomName","name","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 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 (selectedBoard) return;\n\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 // 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 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 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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"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModalMapView = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _ui = require("@mirai/ui");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _helpers = require("./helpers");
13
+ var _ModalMapView = require("./ModalMapView.l10n");
14
+ var style = _interopRequireWildcard(require("./ModalMapView.module.css"));
15
+ var _helpers2 = require("../../../../helpers");
16
+ var _shared__ = require("../../../__shared__");
17
+ var _helpers3 = require("../../../helpers");
18
+ var _helpers4 = require("../../helpers");
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+ let memoizedSelected;
24
+ const ModalMapView = _ref => {
25
+ var _selected$features;
26
+ let {
27
+ items = [],
28
+ nights = 1,
29
+ visible,
30
+ onClose,
31
+ ...others
32
+ } = _ref;
33
+ const {
34
+ isMobile
35
+ } = (0, _ui.useDevice)();
36
+ const {
37
+ translate
38
+ } = (0, _locale.useLocale)();
39
+ const {
40
+ value: {
41
+ currency,
42
+ finder,
43
+ forwarder = {},
44
+ hotel,
45
+ locale,
46
+ tags: {
47
+ options: places = []
48
+ } = {}
49
+ }
50
+ } = (0, _dataSources.useStore)();
51
+ const mapRef = (0, _react.useRef)();
52
+ const [map, setMap] = (0, _react.useState)();
53
+ const [selected, setSelected] = (0, _react.useState)();
54
+ const theme = _ui.Theme.get();
55
+ const {
56
+ icon,
57
+ label
58
+ } = (0, _helpers.customMarker)(theme);
59
+ const {
60
+ accent,
61
+ base
62
+ } = theme;
63
+ const {
64
+ place: {
65
+ title
66
+ } = {}
67
+ } = finder;
68
+ (0, _react.useEffect)(() => {
69
+ if (!visible) return;
70
+ (0, _helpers.loadGMaps)().then(() => {
71
+ const bounds = new window.google.maps.LatLngBounds();
72
+ const map = new window.google.maps.Map(mapRef.current, {
73
+ fullscreenControl: false,
74
+ mapTypeControl: false
75
+ });
76
+ map.addListener('click', () => setSelected());
77
+ map.addListener('dragstart', () => setSelected());
78
+ setMap(map);
79
+ if (!visible) return;
80
+ setSelected(undefined);
81
+ map.markers = map.markers || [];
82
+ map.markers.forEach(marker => marker.setMap());
83
+ map.markers = [];
84
+ items.forEach(function () {
85
+ let dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
86
+ const item = {
87
+ ...dataSource,
88
+ position: {
89
+ lat: dataSource.latitude,
90
+ lng: dataSource.longitude
91
+ }
92
+ };
93
+ const {
94
+ price,
95
+ position
96
+ } = item;
97
+ const text = (0, _locale.currencyFormat)({
98
+ currency,
99
+ fancy: true,
100
+ locale,
101
+ symbol: true,
102
+ value: price
103
+ });
104
+ const marker = new window.google.maps.Marker({
105
+ map,
106
+ position,
107
+ icon,
108
+ label: {
109
+ ...label,
110
+ text
111
+ }
112
+ });
113
+ marker.addListener('click', () => setSelected(item));
114
+ marker.addListener('mouseover', () => highlightMarker(marker, item));
115
+ marker.addListener('mouseout', () => memoizedSelected !== item ? resetMarker(marker, item) : undefined);
116
+ map.markers.push(marker);
117
+ bounds.extend(position);
118
+ });
119
+ if (items.length > 0) map.fitBounds(bounds);
120
+ }).catch(() => {
121
+ _dataSources.Event.publish(_helpers3.EVENT.NOTIFICATION, {
122
+ error: true,
123
+ ..._ModalMapView.L10N.NOTIFICATION_ERROR_MAP
124
+ });
125
+ onClose();
126
+ });
127
+ // eslint-disable-next-line react-hooks/exhaustive-deps
128
+ }, [items, visible]);
129
+ (0, _react.useEffect)(() => {
130
+ memoizedSelected = selected;
131
+ if (!map || !items.length) return;
132
+ if (selected) map.panTo(selected.position);
133
+ const itemIndex = selected ? items.findIndex(_ref2 => {
134
+ let {
135
+ id
136
+ } = _ref2;
137
+ return id === selected.id;
138
+ }) : -1;
139
+ map.markers.forEach((marker, index) => {
140
+ index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);
141
+ });
142
+ // eslint-disable-next-line react-hooks/exhaustive-deps
143
+ }, [selected]);
144
+ const highlightMarker = function (marker) {
145
+ let {
146
+ price
147
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
148
+ marker.setIcon({
149
+ ...icon,
150
+ fillColor: accent,
151
+ strokeColor: accent,
152
+ scale: 1.1
153
+ });
154
+ marker.setLabel({
155
+ ...label,
156
+ color: base,
157
+ text: priceMarker(price)
158
+ });
159
+ marker.setZIndex(1024);
160
+ };
161
+ const resetMarker = function (marker) {
162
+ let {
163
+ price
164
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
165
+ let index = arguments.length > 2 ? arguments[2] : undefined;
166
+ marker.setIcon(icon);
167
+ marker.setLabel({
168
+ ...label,
169
+ text: priceMarker(price)
170
+ });
171
+ marker.setZIndex(index);
172
+ };
173
+ const priceMarker = price => (0, _locale.currencyFormat)({
174
+ currency,
175
+ fancy: true,
176
+ locale,
177
+ symbol: true,
178
+ value: price
179
+ });
180
+ const handlePress = () => {
181
+ const {
182
+ id
183
+ } = selected;
184
+ const {
185
+ value
186
+ } = places.find(function () {
187
+ let {
188
+ isHotel,
189
+ id: ids = []
190
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
191
+ return isHotel && ids.includes(id.toString());
192
+ }) || {};
193
+ window.location.href = "".concat(forwarder.rates).concat((0, _helpers3.toUrlParams)({
194
+ ...(0, _helpers2.fetchUrlParams)(window.location.search),
195
+ ...(0, _helpers4.getFinderParams)({
196
+ ...finder,
197
+ ...{
198
+ place: {
199
+ id: undefined,
200
+ value
201
+ }
202
+ },
203
+ hotel
204
+ }),
205
+ idtokenprovider: id
206
+ }));
207
+ };
208
+ return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
209
+ title,
210
+ visible,
211
+ onClose,
212
+ fit: true,
213
+ className: [style.modal, others.className]
214
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
215
+ ref: mapRef,
216
+ className: style.map
217
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Card, {
218
+ className: (0, _ui.styles)(style.card, selected && style.visible)
219
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
220
+ className: style.image,
221
+ style: selected !== null && selected !== void 0 && selected.images ? {
222
+ backgroundImage: "url(".concat(selected === null || selected === void 0 ? void 0 : selected.images[0], ")")
223
+ } : undefined
224
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
225
+ className: style.content
226
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
227
+ bold: true,
228
+ headline: !isMobile
229
+ }, selected === null || selected === void 0 ? void 0 : selected.name), /*#__PURE__*/_react.default.createElement(_ui.Text, {
230
+ action: !isMobile,
231
+ light: true,
232
+ small: isMobile,
233
+ className: style.location
234
+ }, selected === null || selected === void 0 ? void 0 : (_selected$features = selected.features) === null || _selected$features === void 0 ? void 0 : _selected$features.location), /*#__PURE__*/_react.default.createElement(_ui.View, {
235
+ className: style.anchor
236
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
237
+ row: true
238
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
239
+ bold: true
240
+ }, (0, _locale.currencyFormat)({
241
+ currency,
242
+ locale,
243
+ maximumFractionDigits: 0,
244
+ value: selected === null || selected === void 0 ? void 0 : selected.price
245
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
246
+ light: true,
247
+ small: !isMobile,
248
+ tiny: isMobile
249
+ }, (0, _locale.currencyFormat)({
250
+ currency,
251
+ value: (selected === null || selected === void 0 ? void 0 : selected.price) / nights
252
+ }), " ", translate(_ModalMapView.L10N.LABEL_PER_NIGHT))), /*#__PURE__*/_react.default.createElement(_ui.View, {
253
+ className: style.anchor
254
+ }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
255
+ small: true,
256
+ onPress: handlePress
257
+ }, translate(_ModalMapView.L10N.ACTION_VIEW_MORE))))));
258
+ };
259
+ exports.ModalMapView = ModalMapView;
260
+ ModalMapView.propTypes = {
261
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({})),
262
+ nights: _propTypes.default.number,
263
+ title: _propTypes.default.string,
264
+ visible: _propTypes.default.visible,
265
+ onClose: _propTypes.default.func
266
+ };
267
+ ModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';
268
+ //# sourceMappingURL=ModalMapView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalMapView.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalMapView","style","_helpers2","_shared__","_helpers3","_helpers4","_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","memoizedSelected","ModalMapView","_ref","_selected$features","items","nights","visible","onClose","others","isMobile","useDevice","translate","useLocale","value","currency","finder","forwarder","hotel","locale","tags","options","places","useStore","mapRef","useRef","map","setMap","useState","selected","setSelected","theme","Theme","icon","label","customMarker","accent","base","place","title","useEffect","loadGMaps","then","bounds","window","google","maps","LatLngBounds","Map","current","fullscreenControl","mapTypeControl","addListener","undefined","markers","forEach","marker","dataSource","item","position","lat","latitude","lng","longitude","price","text","currencyFormat","fancy","symbol","Marker","highlightMarker","resetMarker","push","extend","fitBounds","catch","Event","publish","EVENT","NOTIFICATION","error","L10N","NOTIFICATION_ERROR_MAP","panTo","itemIndex","findIndex","_ref2","id","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","createElement","Modal","fit","className","modal","View","ref","Card","styles","card","image","images","backgroundImage","content","Text","bold","headline","name","action","light","small","features","anchor","row","maximumFractionDigits","tiny","LABEL_PER_NIGHT","Button","onPress","ACTION_VIEW_MORE","exports","propTypes","PropTypes","arrayOf","shape","number","string","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, styles, Theme, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { customMarker, loadGMaps } from './helpers';\nimport { L10N } from './ModalMapView.l10n';\nimport * as style from './ModalMapView.module.css';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\n\nlet memoizedSelected;\n\nconst ModalMapView = ({ items = [], nights = 1, visible, onClose, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, finder, forwarder = {}, hotel, locale, tags: { options: places = [] } = {} },\n } = useStore();\n\n const mapRef = useRef();\n const [map, setMap] = useState();\n const [selected, setSelected] = useState();\n\n const theme = Theme.get();\n const { icon, label } = customMarker(theme);\n const { accent, base } = theme;\n const { place: { title } = {} } = finder;\n\n useEffect(() => {\n if (!visible) return;\n\n loadGMaps()\n .then(() => {\n const bounds = new window.google.maps.LatLngBounds();\n const map = new window.google.maps.Map(mapRef.current, {\n fullscreenControl: false,\n mapTypeControl: false,\n });\n\n map.addListener('click', () => setSelected());\n map.addListener('dragstart', () => setSelected());\n setMap(map);\n\n if (!visible) return;\n\n setSelected(undefined);\n map.markers = map.markers || [];\n map.markers.forEach((marker) => marker.setMap());\n map.markers = [];\n\n items.forEach((dataSource = {}) => {\n const item = { ...dataSource, position: { lat: dataSource.latitude, lng: dataSource.longitude } };\n const { price, position } = item;\n const text = currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n const marker = new window.google.maps.Marker({ map, position, icon, label: { ...label, text } });\n\n marker.addListener('click', () => setSelected(item));\n marker.addListener('mouseover', () => highlightMarker(marker, item));\n marker.addListener('mouseout', () => (memoizedSelected !== item ? resetMarker(marker, item) : undefined));\n\n map.markers.push(marker);\n bounds.extend(position);\n });\n\n if (items.length > 0) map.fitBounds(bounds);\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, { error: true, ...L10N.NOTIFICATION_ERROR_MAP });\n onClose();\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, visible]);\n\n useEffect(() => {\n memoizedSelected = selected;\n if (!map || !items.length) return;\n if (selected) map.panTo(selected.position);\n\n const itemIndex = selected ? items.findIndex(({ id }) => id === selected.id) : -1;\n map.markers.forEach((marker, index) => {\n index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const highlightMarker = (marker, { price } = {}) => {\n marker.setIcon({ ...icon, fillColor: accent, strokeColor: accent, scale: 1.1 });\n marker.setLabel({ ...label, color: base, text: priceMarker(price) });\n marker.setZIndex(1024);\n };\n\n const resetMarker = (marker, { price } = {}, index) => {\n marker.setIcon(icon);\n marker.setLabel({ ...label, text: priceMarker(price) });\n marker.setZIndex(index);\n };\n\n const priceMarker = (price) => currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n\n const handlePress = () => {\n const { id } = selected;\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n return (\n <Modal {...others} {...{ title, visible, onClose }} fit className={[style.modal, others.className]}>\n <View ref={mapRef} className={style.map} />\n\n <Card className={styles(style.card, selected && style.visible)}>\n <View\n className={style.image}\n style={selected?.images ? { backgroundImage: `url(${selected?.images[0]})` } : undefined}\n />\n <View className={style.content}>\n <Text bold headline={!isMobile}>\n {selected?.name}\n </Text>\n <Text action={!isMobile} light small={isMobile} className={style.location}>\n {selected?.features?.location}\n </Text>\n\n <View className={style.anchor} />\n\n <View row>\n <View>\n <Text bold>{currencyFormat({ currency, locale, maximumFractionDigits: 0, value: selected?.price })}</Text>\n <Text light small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: selected?.price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n </View>\n <View className={style.anchor} />\n <Button small onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n </Modal>\n );\n};\n\nModalMapView.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n title: PropTypes.string,\n visible: PropTypes.visible,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.L10N = void 0;
7
+ const L10N = exports.L10N = {
8
+ ACTION_VIEW_MORE: {
9
+ id: 'common.action.view_more'
10
+ },
11
+ LABEL_PER_NIGHT: {
12
+ id: 'finder.label.per_night'
13
+ },
14
+ NOTIFICATION_ERROR_MAP: {
15
+ id: 'finder.notification.error_map'
16
+ }
17
+ };
18
+ //# sourceMappingURL=ModalMapView.l10n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalMapView.l10n.js","names":["L10N","exports","ACTION_VIEW_MORE","id","LABEL_PER_NIGHT","NOTIFICATION_ERROR_MAP"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n NOTIFICATION_ERROR_MAP: { id: 'finder.notification.error_map' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,eAAe,EAAE;IAAED,EAAE,EAAE;EAAyB,CAAC;EACjDE,sBAAsB,EAAE;IAAEF,EAAE,EAAE;EAAgC;AAChE,CAAC"}