@mirai/core 0.3.413 → 0.3.415

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 (49) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.constants.js +2 -1
  2. package/build/components/BannerLoyalty/BannerLoyalty.constants.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.js +3 -3
  4. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  5. package/build/components/Header/Header.js +1 -3
  6. package/build/components/Header/Header.js.map +1 -1
  7. package/build/components/Rates/Rates.Header.js +1 -1
  8. package/build/components/Rates/Rates.Header.js.map +1 -1
  9. package/build/components/Rates/Rates.Unavailability.js +1 -1
  10. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  11. package/build/components/Rates/Rates.js +7 -2
  12. package/build/components/Rates/Rates.js.map +1 -1
  13. package/build/components/Rates/Rates.l10n.js +6 -0
  14. package/build/components/Rates/Rates.l10n.js.map +1 -1
  15. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +52 -4
  16. package/build/components/Rates/components/CardHotel/CardHotel.js +14 -10
  17. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  18. package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +13 -1
  19. package/build/components/Rates/components/Item/Item.Preview.js +22 -12
  20. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  21. package/build/components/Rates/components/Item/Item.Rates.js +23 -26
  22. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  23. package/build/components/Rates/components/Item/Item.Summary.js +2 -2
  24. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  25. package/build/components/Rates/components/Item/Item.js +20 -0
  26. package/build/components/Rates/components/Item/Item.js.map +1 -1
  27. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +3 -0
  28. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +3 -0
  29. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +16 -2
  30. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  31. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -3
  32. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  33. package/build/components/Rates/components/ModalExtras/ModalExtras.js +3 -0
  34. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  35. package/build/components/Rates/components/ModalMapView/ModalMapView.js +16 -13
  36. package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
  37. package/build/components/Rates/components/ModalMapView/__tests__/__snapshots__/ModalMapView.test.js.snap +13 -1
  38. package/build/components/Rates/helpers/getClubInclude.js +16 -0
  39. package/build/components/Rates/helpers/getClubInclude.js.map +1 -0
  40. package/build/components/Rates/helpers/{isClubRate.js → getClubRate.js} +12 -7
  41. package/build/components/Rates/helpers/getClubRate.js.map +1 -0
  42. package/build/components/Rates/helpers/index.js +22 -11
  43. package/build/components/Rates/helpers/index.js.map +1 -1
  44. package/build/components/helpers/constants.js +2 -1
  45. package/build/components/helpers/constants.js.map +1 -1
  46. package/package.json +1 -1
  47. package/public/App.Container.jsx +9 -14
  48. package/public/App.module.css +4 -0
  49. package/build/components/Rates/helpers/isClubRate.js.map +0 -1
@@ -11,18 +11,21 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var style = _interopRequireWildcard(require("./ModalOfferInfo.module.css"));
13
13
  var _helpers = require("../../../../../helpers");
14
+ var _helpers2 = require("../../../../helpers");
14
15
  var _Item = require("../../Item.l10n");
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
  const ModalOfferInfo = _ref => {
19
20
  let {
21
+ availableBoards = [],
20
22
  children,
21
23
  description,
22
- included = [],
24
+ included: propIncluded = [],
23
25
  name,
24
26
  visible: propVisible,
25
- onClose
27
+ onClose,
28
+ ...rate
26
29
  } = _ref;
27
30
  const {
28
31
  isMobile
@@ -45,6 +48,16 @@ const ModalOfferInfo = _ref => {
45
48
  action: !isMobile,
46
49
  small: isMobile
47
50
  };
51
+ const clubInclude = (0, _helpers2.getClubInclude)((0, _helpers2.getClubRate)({
52
+ board: availableBoards.filter(function () {
53
+ let {
54
+ rateId
55
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
56
+ return rateId === rate.id;
57
+ })[0],
58
+ rate
59
+ }));
60
+ const included = clubInclude ? [...propIncluded, translate(clubInclude)] : propIncluded;
48
61
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
49
62
  visible,
50
63
  fit: true,
@@ -76,6 +89,7 @@ const ModalOfferInfo = _ref => {
76
89
  exports.ModalOfferInfo = ModalOfferInfo;
77
90
  ModalOfferInfo.displayName = 'Mirai:Core:Rates:Item:ModalOfferInfo';
78
91
  ModalOfferInfo.propTypes = {
92
+ availableBoards: _propTypes.default.array,
79
93
  children: _propTypes.default.node,
80
94
  included: _propTypes.default.arrayOf(_propTypes.default.string),
81
95
  description: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalOfferInfo.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ModalOfferInfo","_ref","children","description","included","name","visible","propVisible","onClose","isMobile","useDevice","translate","useLocale","setVisible","useState","useEffect","Event","publish","EVENT","METRICS","id","handleClose","setTimeout","textProps","action","small","createElement","Modal","fit","title","onOverflow","className","modal","View","content","section","Text","bold","upperCase","L10N","LABEL_DESCRIPTION","length","LABEL_WHATS_INCLUDED","map","item","index","key","row","exports","displayName","propTypes","PropTypes","node","arrayOf","string","bool","func","isRequired"],"sources":["../../../../../../../src/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './ModalOfferInfo.module.css';\nimport { EVENT } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst ModalOfferInfo = ({ children, description, included = [], name, visible: propVisible, onClose }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [visible, setVisible] = useState(propVisible);\n\n useEffect(() => {\n setVisible(propVisible);\n if (propVisible) Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER_INFO' });\n }, [propVisible]);\n\n const handleClose = () => {\n setVisible(false);\n setTimeout(onClose, 300);\n };\n\n const textProps = { action: !isMobile, small: isMobile };\n\n return (\n <Modal\n {...{ visible }}\n fit\n title={name}\n visible={visible}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n <View className={style.content}>\n {description && (\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_DESCRIPTION)}\n </Text>\n <Text {...textProps}>{description}</Text>\n </View>\n )}\n\n {included.length > 0 && (\n <View className={[style.section, style.included]}>\n <Text bold upperCase>\n {translate(L10N.LABEL_WHATS_INCLUDED)}\n </Text>\n {included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Text small>•</Text>\n <Text {...textProps}>{item}</Text>\n </View>\n ))}\n </View>\n )}\n\n {children}\n </View>\n </Modal>\n );\n};\n\nModalOfferInfo.displayName = 'Mirai:Core:Rates:Item:ModalOfferInfo';\n\nModalOfferInfo.propTypes = {\n children: PropTypes.node,\n included: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n name: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n};\n\nexport { ModalOfferInfo };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalOfferInfo.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_helpers2","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ModalOfferInfo","_ref","availableBoards","children","description","included","propIncluded","name","visible","propVisible","onClose","rate","isMobile","useDevice","translate","useLocale","setVisible","useState","useEffect","Event","publish","EVENT","METRICS","id","handleClose","setTimeout","textProps","action","small","clubInclude","getClubInclude","getClubRate","board","filter","rateId","arguments","length","undefined","createElement","Modal","fit","title","onOverflow","className","modal","View","content","section","Text","bold","upperCase","L10N","LABEL_DESCRIPTION","LABEL_WHATS_INCLUDED","map","item","index","key","row","exports","displayName","propTypes","PropTypes","array","node","arrayOf","string","bool","func","isRequired"],"sources":["../../../../../../../src/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './ModalOfferInfo.module.css';\nimport { EVENT } from '../../../../../helpers';\nimport { getClubInclude, getClubRate } from '../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst ModalOfferInfo = ({\n availableBoards = [],\n children,\n description,\n included: propIncluded = [],\n name,\n visible: propVisible,\n onClose,\n ...rate\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [visible, setVisible] = useState(propVisible);\n\n useEffect(() => {\n setVisible(propVisible);\n if (propVisible) Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER_INFO' });\n }, [propVisible]);\n\n const handleClose = () => {\n setVisible(false);\n setTimeout(onClose, 300);\n };\n\n const textProps = { action: !isMobile, small: isMobile };\n const clubInclude = getClubInclude(\n getClubRate({\n board: availableBoards.filter(({ rateId } = {}) => rateId === rate.id)[0],\n rate,\n }),\n );\n const included = clubInclude ? [...propIncluded, translate(clubInclude)] : propIncluded;\n\n return (\n <Modal\n {...{ visible }}\n fit\n title={name}\n visible={visible}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n <View className={style.content}>\n {description && (\n <View className={style.section}>\n <Text bold upperCase>\n {translate(L10N.LABEL_DESCRIPTION)}\n </Text>\n <Text {...textProps}>{description}</Text>\n </View>\n )}\n\n {included.length > 0 && (\n <View className={[style.section, style.included]}>\n <Text bold upperCase>\n {translate(L10N.LABEL_WHATS_INCLUDED)}\n </Text>\n {included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Text small>•</Text>\n <Text {...textProps}>{item}</Text>\n </View>\n ))}\n </View>\n )}\n\n {children}\n </View>\n </Modal>\n );\n};\n\nModalOfferInfo.displayName = 'Mirai:Core:Rates:Item:ModalOfferInfo';\n\nModalOfferInfo.propTypes = {\n availableBoards: PropTypes.array,\n children: PropTypes.node,\n included: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n name: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n};\n\nexport { ModalOfferInfo };\n"],"mappings":"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"}
@@ -24,7 +24,6 @@ const RateDetails = _ref => {
24
24
  discountPercentage,
25
25
  countdown,
26
26
  included = [],
27
- isClub,
28
27
  restrictions = [],
29
28
  selectedBoard: {
30
29
  offerDates = []
@@ -49,7 +48,7 @@ const RateDetails = _ref => {
49
48
  restrictions: restrictions.length > 0
50
49
  };
51
50
  return has.included || has.restrictions ? /*#__PURE__*/_react.default.createElement(_ui.View, {
52
- className: (0, _ui.styles)(!compacted && style.content, (discountPercentage || isClub) && style.rate)
51
+ className: (0, _ui.styles)(!compacted && style.content, discountPercentage && style.rate)
53
52
  }, countdown && /*#__PURE__*/_react.default.createElement(_RateDetails2.Countdown, {
54
53
  timestamp: countdown
55
54
  }), has.restrictions && restrictions.map(function () {
@@ -89,7 +88,6 @@ RateDetails.propTypes = {
89
88
  countdown: _propTypes.default.any,
90
89
  discountPercentage: _propTypes.default.number,
91
90
  included: _propTypes.default.arrayOf(_propTypes.default.any),
92
- isClub: _propTypes.default.bool,
93
91
  restrictions: _propTypes.default.arrayOf(_propTypes.default.any),
94
92
  selectedBoard: _propTypes.default.shape({}),
95
93
  onOfferInfo: _propTypes.default.func
@@ -1 +1 @@
1
- {"version":3,"file":"RateDetails.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_RateDetails","_RateDetails2","style","_interopRequireWildcard","_helpers","_Item","_TooltipDates","_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","RateDetails","_ref","compacted","discountPercentage","countdown","included","isClub","restrictions","selectedBoard","offerDates","onOfferInfo","isMobile","useDevice","translate","useLocale","caption","small","tiny","icon","paragraph","createElement","View","className","styles","content","rate","Countdown","timestamp","map","variableOffer","value","undefined","index","row","Text","warning","TooltipDates","captions","L10N","LABEL_INCLUDED","values","date","parseDate","Fragment","slice","LIMIT_INCLUDED","item","Icon","light","ICON","AMENITY","Action","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","bool","any","number","arrayOf","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/RateDetails/RateDetails.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LIMIT_INCLUDED } from './RateDetails.constants';\nimport { Countdown } from './RateDetails.Countdown';\nimport * as style from './RateDetails.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\nimport { TooltipDates } from '../TooltipDates';\n\nconst RateDetails = ({\n compacted = false,\n discountPercentage,\n countdown,\n included = [],\n isClub,\n restrictions = [],\n selectedBoard: { offerDates = [] } = {},\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const caption = { small: !isMobile, tiny: isMobile };\n const icon = { paragraph: true };\n\n const has = {\n included: included.length > 0,\n restrictions: restrictions.length > 0,\n };\n\n return has.included || has.restrictions ? (\n <View className={styles(!compacted && style.content, (discountPercentage || isClub) && style.rate)}>\n {countdown && <Countdown timestamp={countdown} />}\n\n {has.restrictions &&\n restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Text warning {...caption}>\n {value}\n </Text>\n {variableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n {!compacted && has.included && (\n <>\n {included.slice(0, LIMIT_INCLUDED).map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon light value={ICON.AMENITY} {...icon} />\n <Text light {...caption}>\n {item}\n </Text>\n </View>\n ))}\n\n {included.length > LIMIT_INCLUDED && (\n <Action {...caption} onPress={onOfferInfo}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </>\n )}\n </View>\n ) : null;\n};\n\nRateDetails.displayName = 'Mirai:Core:Rates:Item:RateDetails';\n\nRateDetails.propTypes = {\n compacted: PropTypes.bool,\n countdown: PropTypes.any,\n discountPercentage: PropTypes.number,\n included: PropTypes.arrayOf(PropTypes.any),\n isClub: PropTypes.bool,\n restrictions: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onOfferInfo: PropTypes.func,\n};\n\nexport { RateDetails };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AAA+C,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,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,SAAAlB,uBAAA8B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE/C,MAAMK,WAAW,GAAGC,IAAA,IASd;EAAA,IATe;IACnBC,SAAS,GAAG,KAAK;IACjBC,kBAAkB;IAClBC,SAAS;IACTC,QAAQ,GAAG,EAAE;IACbC,MAAM;IACNC,YAAY,GAAG,EAAE;IACjBC,aAAa,EAAE;MAAEC,UAAU,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IACvCC;EACF,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAMC,OAAO,GAAG;IAAEC,KAAK,EAAE,CAACL,QAAQ;IAAEM,IAAI,EAAEN;EAAS,CAAC;EACpD,MAAMO,IAAI,GAAG;IAAEC,SAAS,EAAE;EAAK,CAAC;EAEhC,MAAM3C,GAAG,GAAG;IACV6B,QAAQ,EAAEA,QAAQ,CAACT,MAAM,GAAG,CAAC;IAC7BW,YAAY,EAAEA,YAAY,CAACX,MAAM,GAAG;EACtC,CAAC;EAED,OAAOpB,GAAG,CAAC6B,QAAQ,IAAI7B,GAAG,CAAC+B,YAAY,gBACrC9C,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA+D,IAAI;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC,CAACrB,SAAS,IAAItC,KAAK,CAAC4D,OAAO,EAAE,CAACrB,kBAAkB,IAAIG,MAAM,KAAK1C,KAAK,CAAC6D,IAAI;EAAE,GAChGrB,SAAS,iBAAI3C,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAACzD,aAAA,CAAA+D,SAAS;IAACC,SAAS,EAAEvB;EAAU,CAAE,CAAC,EAEhD5B,GAAG,CAAC+B,YAAY,IACfA,YAAY,CAACqB,GAAG,CAAC;IAAA,IAAC;MAAEC,aAAa;MAAEC;IAAM,CAAC,GAAAnC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoC,SAAA,GAAApC,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEqC,KAAK,GAAArC,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAoC,SAAA;IAAA,oBACpDtE,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA+D,IAAI;MAACvB,GAAG,EAAEkC,KAAM;MAACC,GAAG;MAACX,SAAS,EAAE1D,KAAK,CAACqE;IAAI,gBACzCxE,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA4E,IAAI,EAAA3C,QAAA;MAAC4C,OAAO;IAAA,GAAKpB,OAAO,GACtBe,KACG,CAAC,EACND,aAAa,IAAIpB,UAAU,CAACb,MAAM,GAAG,CAAC,iBACrCnC,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAACpD,aAAA,CAAAoE,YAAY;MACXC,QAAQ,EAAE5B,UAAU,CAACmB,GAAG,CAAC,MAAMf,SAAS,CAACyB,UAAI,CAACC,cAAc,CAAC,CAAE;MAC/DC,MAAM,EAAE/B,UAAU,CAACmB,GAAG,CAAEa,IAAI,IAAK,IAAAC,iBAAS,EAACD,IAAI,CAAC,CAAE;MAClDN,OAAO;IAAA,CACR,CAEC,CAAC;EAAA,CACR,CAAC,EAEH,CAACjC,SAAS,IAAI1B,GAAG,CAAC6B,QAAQ,iBACzB5C,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAA3D,MAAA,CAAAc,OAAA,CAAAoE,QAAA,QACGtC,QAAQ,CAACuC,KAAK,CAAC,CAAC,EAAEC,2BAAc,CAAC,CAACjB,GAAG,CAAC,CAACkB,IAAI,EAAEd,KAAK,kBACjDvE,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA+D,IAAI;IAACvB,GAAG,EAAEkC,KAAM;IAACC,GAAG;IAACX,SAAS,EAAE1D,KAAK,CAACqE;EAAI,gBACzCxE,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAAyF,IAAI,EAAAxD,QAAA;IAACyD,KAAK;IAAClB,KAAK,EAAEmB,aAAI,CAACC;EAAQ,GAAKhC,IAAI,CAAG,CAAC,eAC7CzD,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA4E,IAAI,EAAA3C,QAAA;IAACyD,KAAK;EAAA,GAAKjC,OAAO,GACpB+B,IACG,CACF,CACP,CAAC,EAEDzC,QAAQ,CAACT,MAAM,GAAGiD,2BAAc,iBAC/BpF,MAAA,CAAAc,OAAA,CAAA6C,aAAA,CAAC9D,GAAA,CAAA6F,MAAM,EAAA5D,QAAA,KAAKwB,OAAO;IAAEqC,OAAO,EAAE1C;EAAY,IACvCG,SAAS,CAACyB,UAAI,CAACe,gBAAgB,CAC1B,CAEV,CAEA,CAAC,GACL,IAAI;AACV,CAAC;AAACC,OAAA,CAAAtD,WAAA,GAAAA,WAAA;AAEFA,WAAW,CAACuD,WAAW,GAAG,mCAAmC;AAE7DvD,WAAW,CAACwD,SAAS,GAAG;EACtBtD,SAAS,EAAEuD,kBAAS,CAACC,IAAI;EACzBtD,SAAS,EAAEqD,kBAAS,CAACE,GAAG;EACxBxD,kBAAkB,EAAEsD,kBAAS,CAACG,MAAM;EACpCvD,QAAQ,EAAEoD,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,GAAG,CAAC;EAC1CrD,MAAM,EAAEmD,kBAAS,CAACC,IAAI;EACtBnD,YAAY,EAAEkD,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,GAAG,CAAC;EAC9CnD,aAAa,EAAEiD,kBAAS,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCpD,WAAW,EAAE+C,kBAAS,CAACM;AACzB,CAAC"}
1
+ {"version":3,"file":"RateDetails.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_RateDetails","_RateDetails2","style","_interopRequireWildcard","_helpers","_Item","_TooltipDates","_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","RateDetails","_ref","compacted","discountPercentage","countdown","included","restrictions","selectedBoard","offerDates","onOfferInfo","isMobile","useDevice","translate","useLocale","caption","small","tiny","icon","paragraph","createElement","View","className","styles","content","rate","Countdown","timestamp","map","variableOffer","value","undefined","index","row","Text","warning","TooltipDates","captions","L10N","LABEL_INCLUDED","values","date","parseDate","Fragment","slice","LIMIT_INCLUDED","item","Icon","light","ICON","AMENITY","Action","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","bool","any","number","arrayOf","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/RateDetails/RateDetails.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LIMIT_INCLUDED } from './RateDetails.constants';\nimport { Countdown } from './RateDetails.Countdown';\nimport * as style from './RateDetails.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\nimport { TooltipDates } from '../TooltipDates';\n\nconst RateDetails = ({\n compacted = false,\n discountPercentage,\n countdown,\n included = [],\n restrictions = [],\n selectedBoard: { offerDates = [] } = {},\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const caption = { small: !isMobile, tiny: isMobile };\n const icon = { paragraph: true };\n\n const has = {\n included: included.length > 0,\n restrictions: restrictions.length > 0,\n };\n\n return has.included || has.restrictions ? (\n <View className={styles(!compacted && style.content, discountPercentage && style.rate)}>\n {countdown && <Countdown timestamp={countdown} />}\n\n {has.restrictions &&\n restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Text warning {...caption}>\n {value}\n </Text>\n {variableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n {!compacted && has.included && (\n <>\n {included.slice(0, LIMIT_INCLUDED).map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon light value={ICON.AMENITY} {...icon} />\n <Text light {...caption}>\n {item}\n </Text>\n </View>\n ))}\n\n {included.length > LIMIT_INCLUDED && (\n <Action {...caption} onPress={onOfferInfo}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </>\n )}\n </View>\n ) : null;\n};\n\nRateDetails.displayName = 'Mirai:Core:Rates:Item:RateDetails';\n\nRateDetails.propTypes = {\n compacted: PropTypes.bool,\n countdown: PropTypes.any,\n discountPercentage: PropTypes.number,\n included: PropTypes.arrayOf(PropTypes.any),\n restrictions: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onOfferInfo: PropTypes.func,\n};\n\nexport { RateDetails };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AAA+C,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,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,SAAAlB,uBAAA8B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE/C,MAAMK,WAAW,GAAGC,IAAA,IAQd;EAAA,IARe;IACnBC,SAAS,GAAG,KAAK;IACjBC,kBAAkB;IAClBC,SAAS;IACTC,QAAQ,GAAG,EAAE;IACbC,YAAY,GAAG,EAAE;IACjBC,aAAa,EAAE;MAAEC,UAAU,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IACvCC;EACF,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAMC,OAAO,GAAG;IAAEC,KAAK,EAAE,CAACL,QAAQ;IAAEM,IAAI,EAAEN;EAAS,CAAC;EACpD,MAAMO,IAAI,GAAG;IAAEC,SAAS,EAAE;EAAK,CAAC;EAEhC,MAAM1C,GAAG,GAAG;IACV6B,QAAQ,EAAEA,QAAQ,CAACT,MAAM,GAAG,CAAC;IAC7BU,YAAY,EAAEA,YAAY,CAACV,MAAM,GAAG;EACtC,CAAC;EAED,OAAOpB,GAAG,CAAC6B,QAAQ,IAAI7B,GAAG,CAAC8B,YAAY,gBACrC7C,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC,CAACpB,SAAS,IAAItC,KAAK,CAAC2D,OAAO,EAAEpB,kBAAkB,IAAIvC,KAAK,CAAC4D,IAAI;EAAE,GACpFpB,SAAS,iBAAI3C,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAACxD,aAAA,CAAA8D,SAAS;IAACC,SAAS,EAAEtB;EAAU,CAAE,CAAC,EAEhD5B,GAAG,CAAC8B,YAAY,IACfA,YAAY,CAACqB,GAAG,CAAC;IAAA,IAAC;MAAEC,aAAa;MAAEC;IAAM,CAAC,GAAAlC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmC,SAAA,GAAAnC,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEoC,KAAK,GAAApC,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAmC,SAAA;IAAA,oBACpDrE,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;MAACtB,GAAG,EAAEiC,KAAM;MAACC,GAAG;MAACX,SAAS,EAAEzD,KAAK,CAACoE;IAAI,gBACzCvE,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA2E,IAAI,EAAA1C,QAAA;MAAC2C,OAAO;IAAA,GAAKpB,OAAO,GACtBe,KACG,CAAC,EACND,aAAa,IAAIpB,UAAU,CAACZ,MAAM,GAAG,CAAC,iBACrCnC,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAACnD,aAAA,CAAAmE,YAAY;MACXC,QAAQ,EAAE5B,UAAU,CAACmB,GAAG,CAAC,MAAMf,SAAS,CAACyB,UAAI,CAACC,cAAc,CAAC,CAAE;MAC/DC,MAAM,EAAE/B,UAAU,CAACmB,GAAG,CAAEa,IAAI,IAAK,IAAAC,iBAAS,EAACD,IAAI,CAAC,CAAE;MAClDN,OAAO;IAAA,CACR,CAEC,CAAC;EAAA,CACR,CAAC,EAEH,CAAChC,SAAS,IAAI1B,GAAG,CAAC6B,QAAQ,iBACzB5C,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAA1D,MAAA,CAAAc,OAAA,CAAAmE,QAAA,QACGrC,QAAQ,CAACsC,KAAK,CAAC,CAAC,EAAEC,2BAAc,CAAC,CAACjB,GAAG,CAAC,CAACkB,IAAI,EAAEd,KAAK,kBACjDtE,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IAACtB,GAAG,EAAEiC,KAAM;IAACC,GAAG;IAACX,SAAS,EAAEzD,KAAK,CAACoE;EAAI,gBACzCvE,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAAwF,IAAI,EAAAvD,QAAA;IAACwD,KAAK;IAAClB,KAAK,EAAEmB,aAAI,CAACC;EAAQ,GAAKhC,IAAI,CAAG,CAAC,eAC7CxD,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA2E,IAAI,EAAA1C,QAAA;IAACwD,KAAK;EAAA,GAAKjC,OAAO,GACpB+B,IACG,CACF,CACP,CAAC,EAEDxC,QAAQ,CAACT,MAAM,GAAGgD,2BAAc,iBAC/BnF,MAAA,CAAAc,OAAA,CAAA4C,aAAA,CAAC7D,GAAA,CAAA4F,MAAM,EAAA3D,QAAA,KAAKuB,OAAO;IAAEqC,OAAO,EAAE1C;EAAY,IACvCG,SAAS,CAACyB,UAAI,CAACe,gBAAgB,CAC1B,CAEV,CAEA,CAAC,GACL,IAAI;AACV,CAAC;AAACC,OAAA,CAAArD,WAAA,GAAAA,WAAA;AAEFA,WAAW,CAACsD,WAAW,GAAG,mCAAmC;AAE7DtD,WAAW,CAACuD,SAAS,GAAG;EACtBrD,SAAS,EAAEsD,kBAAS,CAACC,IAAI;EACzBrD,SAAS,EAAEoD,kBAAS,CAACE,GAAG;EACxBvD,kBAAkB,EAAEqD,kBAAS,CAACG,MAAM;EACpCtD,QAAQ,EAAEmD,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,GAAG,CAAC;EAC1CpD,YAAY,EAAEkD,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,GAAG,CAAC;EAC9CnD,aAAa,EAAEiD,kBAAS,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCpD,WAAW,EAAE+C,kBAAS,CAACM;AACzB,CAAC"}
@@ -21,6 +21,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  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); }
22
22
  const ModalExtras = _ref => {
23
23
  let {
24
+ busy,
24
25
  cart = [],
25
26
  extras: propExtras = [],
26
27
  taxesType,
@@ -303,12 +304,14 @@ const ModalExtras = _ref => {
303
304
  }, others, {
304
305
  className: style.priceDetails
305
306
  }))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
307
+ busy: busy,
306
308
  onPress: handleSubmit,
307
309
  testId: testId ? "".concat(testId, "-submit") : undefined
308
310
  }, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE : _ModalExtras.L10N.ACTION_NEXT))));
309
311
  };
310
312
  exports.ModalExtras = ModalExtras;
311
313
  ModalExtras.propTypes = {
314
+ busy: _propTypes.default.bool,
312
315
  cart: _propTypes.default.arrayOf(_propTypes.default.shape({})),
313
316
  extras: _propTypes.default.arrayOf(_propTypes.default.shape({})),
314
317
  taxesType: _propTypes.default.number,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ModalExtras","_ref","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","unselected","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","arrayOf","shape","number","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected ? (selected ? style.selected : style.unselected) : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","unselected","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected ? (selected ? style.selected : style.unselected) : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
@@ -49,6 +49,7 @@ const ModalMapView = _ref => {
49
49
  }
50
50
  } = (0, _dataSources.useStore)();
51
51
  const mapRef = (0, _react.useRef)();
52
+ const [busy, setBusy] = (0, _react.useState)(false);
52
53
  const [map, setMap] = (0, _react.useState)();
53
54
  const [selected, setSelected] = (0, _react.useState)();
54
55
  const theme = _ui.Theme.get();
@@ -184,22 +185,23 @@ const ModalMapView = _ref => {
184
185
  value: price
185
186
  });
186
187
  const handlePress = () => {
187
- const {
188
- id
189
- } = selected;
190
- const {
191
- value
192
- } = places.find(function () {
193
- let {
194
- isHotel,
195
- id: ids = []
196
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
197
- return isHotel && ids.includes(id.toString());
198
- }) || {};
188
+ setBusy(false);
199
189
  _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
200
190
  id: 'HOTELS:MAP:VIEW_MORE'
201
191
  });
202
192
  setTimeout(() => {
193
+ const {
194
+ id
195
+ } = selected;
196
+ const {
197
+ value
198
+ } = places.find(function () {
199
+ let {
200
+ isHotel,
201
+ id: ids = []
202
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
203
+ return isHotel && ids.includes(id.toString());
204
+ }) || {};
203
205
  window.location.href = "".concat(forwarder.rates).concat((0, _helpers3.toUrlParams)({
204
206
  ...(0, _helpers2.fetchUrlParams)(window.location.search),
205
207
  ...(0, _helpers4.getFinderParams)({
@@ -214,7 +216,7 @@ const ModalMapView = _ref => {
214
216
  }),
215
217
  idtokenprovider: id
216
218
  }));
217
- }, 200);
219
+ }, _helpers3.SUBMIT_DELAY);
218
220
  };
219
221
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
220
222
  title,
@@ -263,6 +265,7 @@ const ModalMapView = _ref => {
263
265
  }), " ", translate(_ModalMapView.L10N.LABEL_PER_NIGHT))), /*#__PURE__*/_react.default.createElement(_ui.View, {
264
266
  className: style.anchor
265
267
  }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
268
+ busy: busy,
266
269
  small: true,
267
270
  onPress: handlePress
268
271
  }, translate(_ModalMapView.L10N.ACTION_VIEW_MORE))))));
@@ -1 +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","METRICS","id","panTo","itemIndex","findIndex","_ref2","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","setTimeout","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","bool","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\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP' });\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\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:SELECT' });\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 Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:VIEW_MORE' });\n\n setTimeout(() => {\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 }, 200);\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.bool,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
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","busy","setBusy","useState","map","setMap","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","METRICS","id","panTo","itemIndex","findIndex","_ref2","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","setTimeout","find","isHotel","ids","includes","toString","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","SUBMIT_DELAY","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","bool","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, SUBMIT_DELAY, 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 [busy, setBusy] = useState(false);\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\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP' });\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\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:SELECT' });\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 setBusy(false);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:VIEW_MORE' });\n\n setTimeout(() => {\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 }, SUBMIT_DELAY);\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 busy={busy} 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.bool,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
@@ -53,9 +53,21 @@ exports[`<Rates> <ModalMapView> renders 1`] = `
53
53
  />
54
54
  <ui-button
55
55
  class="pressable button small"
56
+ disabled="false"
56
57
  tabindex="0"
57
58
  >
58
- common.action.view_more
59
+ <ui-view
60
+ class="view busyContainer"
61
+ >
62
+ <ui-view
63
+ class="view spinner"
64
+ />
65
+ </ui-view>
66
+ <ui-view
67
+ class="view row children"
68
+ >
69
+ common.action.view_more
70
+ </ui-view>
59
71
  </ui-button>
60
72
  </ui-view>
61
73
  </ui-view>
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getClubInclude = void 0;
7
+ var _Rates = require("../Rates.l10n");
8
+ const getClubInclude = function () {
9
+ let {
10
+ discount,
11
+ rate
12
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13
+ return discount ? _Rates.L10N.LABEL_MEMBER_DISCOUNT : rate ? _Rates.L10N.LABEL_MEMBER_EXCLUSIVE : undefined;
14
+ };
15
+ exports.getClubInclude = getClubInclude;
16
+ //# sourceMappingURL=getClubInclude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClubInclude.js","names":["_Rates","require","getClubInclude","discount","rate","arguments","length","undefined","L10N","LABEL_MEMBER_DISCOUNT","LABEL_MEMBER_EXCLUSIVE","exports"],"sources":["../../../../src/components/Rates/helpers/getClubInclude.js"],"sourcesContent":["import { L10N } from '../Rates.l10n';\n\nexport const getClubInclude = ({ discount, rate } = {}) =>\n discount ? L10N.LABEL_MEMBER_DISCOUNT : rate ? L10N.LABEL_MEMBER_EXCLUSIVE : undefined;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACpDF,QAAQ,GAAGK,WAAI,CAACC,qBAAqB,GAAGL,IAAI,GAAGI,WAAI,CAACE,sBAAsB,GAAGH,SAAS;AAAA;AAACI,OAAA,CAAAT,cAAA,GAAAA,cAAA"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isClubRate = void 0;
6
+ exports.getClubRate = void 0;
7
7
  var _Rates = require("../Rates.constants");
8
- const isClubRate = function () {
8
+ const getClubRate = function () {
9
9
  var _items$find, _items$find$rates;
10
10
  let {
11
11
  board: {
@@ -30,13 +30,18 @@ const isClubRate = function () {
30
30
  id
31
31
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
32
32
  return id === rateId;
33
- }));
34
- return rate ? rate.isClub || !!breakdown.find(_ref => {
33
+ })) || {};
34
+ const discount = !!breakdown.find(_ref => {
35
35
  let {
36
36
  type
37
37
  } = _ref;
38
38
  return type === _Rates.DISCOUNT_TYPE.CLUB;
39
- }) : undefined;
39
+ });
40
+ if (!discount && !rate.isClub) return;
41
+ return {
42
+ discount,
43
+ rate: rate.isClub
44
+ };
40
45
  };
41
- exports.isClubRate = isClubRate;
42
- //# sourceMappingURL=isClubRate.js.map
46
+ exports.getClubRate = getClubRate;
47
+ //# sourceMappingURL=getClubRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClubRate.js","names":["_Rates","require","getClubRate","_items$find","_items$find$rates","board","discount","breakdown","rateId","roomId","dataSource","items","rate","propRate","arguments","length","undefined","find","id","rates","_ref","type","DISCOUNT_TYPE","CLUB","isClub","exports"],"sources":["../../../../src/components/Rates/helpers/getClubRate.js"],"sourcesContent":["import { DISCOUNT_TYPE } from '../Rates.constants';\n\nexport const getClubRate = ({\n board: { discount: { breakdown = [] } = {}, rateId, roomId } = {},\n dataSource: { items = [] } = {},\n rate: propRate,\n} = {}) => {\n const rate =\n propRate || items.find(({ id } = {}) => id === roomId)?.rates?.find(({ id } = {}) => id === rateId) || {};\n\n const discount = !!breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n if (!discount && !rate.isClub) return;\n\n return { discount, rate: rate.isClub };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAG,SAAAA,CAAA,EAIhB;EAAA,IAAAC,WAAA,EAAAC,iBAAA;EAAA,IAJiB;IAC1BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;QAAEC,SAAS,GAAG;MAAG,CAAC,GAAG,CAAC,CAAC;MAAEC,MAAM;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IACjEC,UAAU,EAAE;MAAEC,KAAK,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IAC/BC,IAAI,EAAEC;EACR,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAMF,IAAI,GACRC,QAAQ,MAAAV,WAAA,GAAIQ,KAAK,CAACM,IAAI,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE,KAAKT,MAAM;EAAA,EAAC,cAAAN,WAAA,wBAAAC,iBAAA,GAA1CD,WAAA,CAA4CgB,KAAK,cAAAf,iBAAA,uBAAjDA,iBAAA,CAAmDa,IAAI,CAAC;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKI,EAAE,KAAKV,MAAM;EAAA,EAAC,KAAI,CAAC,CAAC;EAE3G,MAAMF,QAAQ,GAAG,CAAC,CAACC,SAAS,CAACU,IAAI,CAACG,IAAA;IAAA,IAAC;MAAEC;IAAK,CAAC,GAAAD,IAAA;IAAA,OAAKC,IAAI,KAAKC,oBAAa,CAACC,IAAI;EAAA,EAAC;EAC5E,IAAI,CAACjB,QAAQ,IAAI,CAACM,IAAI,CAACY,MAAM,EAAE;EAE/B,OAAO;IAAElB,QAAQ;IAAEM,IAAI,EAAEA,IAAI,CAACY;EAAO,CAAC;AACxC,CAAC;AAACC,OAAA,CAAAvB,WAAA,GAAAA,WAAA"}