@mirai/core 0.4.545 → 0.4.547

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 (85) hide show
  1. package/build/components/Banner/Banner.js +11 -0
  2. package/build/components/Banner/Banner.js.map +1 -1
  3. package/build/components/Booking/Booking.js +19 -28
  4. package/build/components/Booking/Booking.js.map +1 -1
  5. package/build/components/Booking/partials/Booking.Menu.js +12 -0
  6. package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
  7. package/build/components/Booking/partials/Booking.Modal.js +2 -2
  8. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  9. package/build/components/Booking/partials/Booking.ModalCalendar.js +5 -1
  10. package/build/components/Booking/partials/Booking.ModalCalendar.js.map +1 -1
  11. package/build/components/Chat/Chat.js +10 -3
  12. package/build/components/Chat/Chat.js.map +1 -1
  13. package/build/components/Chat/components/Aura/Aura.js +2 -2
  14. package/build/components/Chat/components/Aura/Aura.js.map +1 -1
  15. package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js +4 -4
  16. package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js.map +1 -1
  17. package/build/components/Chat/components/Rating/Rating.js +1 -1
  18. package/build/components/Chat/components/Rating/Rating.js.map +1 -1
  19. package/build/components/Checkout/Checkout.js +74 -15
  20. package/build/components/Checkout/Checkout.js.map +1 -1
  21. package/build/components/Checkout/partials/Checkout.Confirmation.js +22 -3
  22. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  23. package/build/components/Checkout/partials/Checkout.Form.js +36 -18
  24. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  25. package/build/components/Rates/Rates.Unavailability.js +28 -3
  26. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  27. package/build/components/Rates/Rates.js +47 -14
  28. package/build/components/Rates/Rates.js.map +1 -1
  29. package/build/components/Rates/components/Filters/Filters.js +11 -0
  30. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  31. package/build/components/Rates/components/Item/Item.Preview.js +17 -2
  32. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  33. package/build/components/Rates/components/Item/Item.Rates.js +32 -10
  34. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  35. package/build/components/Rates/components/Item/Item.Summary.js +4 -1
  36. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  37. package/build/components/Rates/components/Item/Item.js +4 -1
  38. package/build/components/Rates/components/Item/Item.js.map +1 -1
  39. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +9 -1
  40. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
  41. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +31 -2
  42. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
  43. package/build/components/Rates/components/ModalExtras/ModalExtras.js +46 -6
  44. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  45. package/build/components/Rates/components/ModalTwin/ModalTwin.js +51 -5
  46. package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
  47. package/build/components/Rates/components/OTAPrices/OTAPrices.js +66 -2
  48. package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
  49. package/build/components/Rates/hooks/useRates.js +13 -0
  50. package/build/components/Rates/hooks/useRates.js.map +1 -1
  51. package/build/components/Session/Session.Account.js +4 -0
  52. package/build/components/Session/Session.Account.js.map +1 -1
  53. package/build/components/Session/Session.Login.Modal.js +38 -4
  54. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  55. package/build/components/Signup/Signup.js +12 -0
  56. package/build/components/Signup/Signup.js.map +1 -1
  57. package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
  58. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  59. package/build/components/__shared__/BookingSummary/BookingSummary.js +10 -0
  60. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  61. package/build/components/__shared__/BookingTerms/BookingTerms.js +13 -3
  62. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  63. package/build/components/__shared__/Payment/Payment.js +11 -1
  64. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  65. package/build/components/helpers/constants.js +22 -1
  66. package/build/components/helpers/constants.js.map +1 -1
  67. package/build/contexts/PerformanceManager/PerformanceManager.js +30 -8
  68. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  69. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +6 -83
  70. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
  71. package/build/helpers/SHA256.js +73 -0
  72. package/build/helpers/SHA256.js.map +1 -0
  73. package/build/helpers/getRefundableFromItems.js +22 -0
  74. package/build/helpers/getRefundableFromItems.js.map +1 -0
  75. package/build/helpers/getSearchProps.js +100 -0
  76. package/build/helpers/getSearchProps.js.map +1 -0
  77. package/build/helpers/getSuperProps.js +54 -0
  78. package/build/helpers/getSuperProps.js.map +1 -0
  79. package/build/helpers/index.js +48 -4
  80. package/build/helpers/index.js.map +1 -1
  81. package/build/helpers/trackError.js +2 -1
  82. package/build/helpers/trackError.js.map +1 -1
  83. package/build/index.js +4 -2
  84. package/build/index.js.map +1 -1
  85. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","style","_Core","_helpers2","_Rates","_Item","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","taxesType","others","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","renderSubtotal","createElement","Fragment","View","className","anchor","row","item","Text","action","bold","L10N","LABEL_SUBTOTAL","renderTaxes","LABEL_TAXES","renderFees","LABEL_FEES","taxesTypes","Tooltip","pressable","Template","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","concat","toUpperCase","render","index","LABEL_TOTAL","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { TAXES_TYPE } from '../../../../../../Core.constants';\nimport { EVENT } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst { ALL_EXCLUDED, FEES_EXCLUDED, FEES_INCLUDED_TAXES_EXCLUDED, TAXES_EXCLUDED, TAXES_INCLUDED_FEES_EXCLUDED } =\n TAXES_TYPE;\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], taxesType, ...others }) => {\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const [timestamp, setTimestamp] = useState(Date.now());\n\n useEffect(() => {\n const callback = () => {\n setTimestamp(Date.now());\n };\n Event.subscribe(EVENT.OTA_PRICES_READY, callback);\n\n return () => {\n Event.unsubscribe(EVENT.OTA_PRICES_READY, callback);\n };\n }, []);\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current?.confidential && total?.confidential }), {\n confidential: true,\n });\n\n const renderSubtotal = () =>\n (totalBreakdown > 0 || totalBaseExtras > 0) && (\n <>\n <View className={style.anchor} />\n <View row className={style.item}>\n <Text action bold>\n {translate(L10N.LABEL_SUBTOTAL)}\n </Text>\n <Text action bold>\n {currencyFormat({\n currency,\n value:\n basePrice +\n totalBaseExtras -\n totalBreakdown +\n (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) +\n (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0),\n })}\n </Text>\n </View>\n </>\n );\n\n const renderTaxes = () =>\n boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n );\n\n const renderFees = () =>\n boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n );\n\n const taxesTypes = {\n [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes],\n };\n\n return (\n <View row>\n <Tooltip\n pressable\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {(taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => (\n <React.Fragment key={index}>{render()}</React.Fragment>\n ))}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n timestamp={timestamp}\n className={style.tooltip}\n >\n <Text accent action medium className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n }),\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","style","_Core","_helpers2","_Rates","_Item","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","resultPosition","taxesType","others","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","renderSubtotal","createElement","Fragment","View","className","anchor","row","item","Text","action","bold","L10N","LABEL_SUBTOTAL","renderTaxes","LABEL_TAXES","renderFees","LABEL_FEES","taxesTypes","Tooltip","pressable","onPress","publish","METRICS","id","METRICS_EVENTS","RATES_INTERACTION","element_clicked","result_position","Template","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","concat","toUpperCase","render","index","LABEL_TOTAL","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { TAXES_TYPE } from '../../../../../../Core.constants';\nimport { EVENT, METRICS_EVENTS } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst { ALL_EXCLUDED, FEES_EXCLUDED, FEES_INCLUDED_TAXES_EXCLUDED, TAXES_EXCLUDED, TAXES_INCLUDED_FEES_EXCLUDED } =\n TAXES_TYPE;\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], resultPosition, taxesType, ...others }) => {\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const [timestamp, setTimestamp] = useState(Date.now());\n\n useEffect(() => {\n const callback = () => {\n setTimestamp(Date.now());\n };\n Event.subscribe(EVENT.OTA_PRICES_READY, callback);\n\n return () => {\n Event.unsubscribe(EVENT.OTA_PRICES_READY, callback);\n };\n }, []);\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current?.confidential && total?.confidential }), {\n confidential: true,\n });\n\n const renderSubtotal = () =>\n (totalBreakdown > 0 || totalBaseExtras > 0) && (\n <>\n <View className={style.anchor} />\n <View row className={style.item}>\n <Text action bold>\n {translate(L10N.LABEL_SUBTOTAL)}\n </Text>\n <Text action bold>\n {currencyFormat({\n currency,\n value:\n basePrice +\n totalBaseExtras -\n totalBreakdown +\n (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) +\n (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0),\n })}\n </Text>\n </View>\n </>\n );\n\n const renderTaxes = () =>\n boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n );\n\n const renderFees = () =>\n boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n );\n\n const taxesTypes = {\n [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes],\n };\n\n return (\n <View row>\n <Tooltip\n pressable\n onPress={() =>\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'card',\n element_clicked: 'price_details',\n result_position: resultPosition,\n })\n }\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {(taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => (\n <React.Fragment key={index}>{render()}</React.Fragment>\n ))}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n timestamp={timestamp}\n className={style.tooltip}\n >\n <Text accent action medium className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n }),\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n resultPosition: PropTypes.number,\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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","ignoreList":[]}
@@ -40,18 +40,40 @@ const ModalClubRate = _ref => {
40
40
  name: club
41
41
  } = {},
42
42
  currency
43
- } = {}
43
+ }
44
44
  } = (0, _dataSources.useStore)();
45
45
  (0, _react.useEffect)(() => {
46
46
  if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;
47
47
  }, [cart]);
48
48
  const handleCancel = () => {
49
49
  _dataSources.Event.publish(_helpers2.EVENT.RATES_FILTER_CLUB, false);
50
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
51
+ id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
52
+ action: 'loyalty_capture_modal_action',
53
+ action_selected: 'decline_discount'
54
+ });
50
55
  };
51
56
  if (!memoizedDiscount) memoizedDiscount = (0, _helpers.getDiscount)({
52
57
  cart,
53
58
  items
54
59
  });
60
+ const total = cart.reduce(function (value) {
61
+ let {
62
+ price = 0
63
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
+ return value + price;
65
+ }, 0);
66
+ const percentage = total + memoizedDiscount > 0 ? Math.round(memoizedDiscount / (total + memoizedDiscount) * 1000) / 10 : 0;
67
+ (0, _react.useEffect)(() => {
68
+ if (!visible) return;
69
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
70
+ id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
71
+ action: 'loyalty_capture_modal_show',
72
+ loyalty_savings_amount: memoizedDiscount,
73
+ loyalty_savings_percentage: percentage
74
+ });
75
+ // eslint-disable-next-line react-hooks/exhaustive-deps
76
+ }, [visible]);
55
77
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
56
78
  visible: visible
57
79
  }, /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
@@ -77,7 +99,14 @@ const ModalClubRate = _ref => {
77
99
  className: style.text,
78
100
  kwy: "registration"
79
101
  }, translate(_ModalClubRate.L10N.LABEL_FREE_REGISTRATION_CLUB))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
80
- onPress: onSubmit,
102
+ onPress: () => {
103
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
104
+ id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
105
+ action: 'loyalty_capture_modal_action',
106
+ action_selected: 'book_and_join'
107
+ });
108
+ onSubmit();
109
+ },
81
110
  wide: true
82
111
  }, translate(_ModalClubRate.L10N.ACTION_BOOK_AND_JOIN))), /*#__PURE__*/_react.default.createElement(_ui.Action, {
83
112
  secondary: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalClubRate","style","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","memoizedDiscount","undefined","ModalClubRate","_ref","cart","dataSource","items","visible","onSubmit","others","currencyFormat","translate","useLocale","value","club","name","currency","useStore","useEffect","handleCancel","Event","publish","EVENT","RATES_FILTER_CLUB","getDiscount","createElement","Modal","View","className","container","banner","texts","Text","bold","brand","headline","text","key","L10N","LABEL_SAVE_JOINING_CLUB","LABEL_UNLOCK_EXCLUSIVE_MEMBER","discount","action","kwy","LABEL_FREE_REGISTRATION_CLUB","Button","onPress","wide","ACTION_BOOK_AND_JOIN","Action","secondary","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","array","shape","bool","onClose","func"],"sources":["../../../../../src/components/Rates/components/ModalClubRate/ModalClubRate.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getDiscount } from './helpers';\nimport { L10N } from './ModalClubRate.l10n';\nimport * as style from './ModalClubRate.module.css';\nimport { EVENT } from '../../../helpers';\n\nlet memoizedDiscount = undefined;\n\nconst ModalClubRate = ({ cart = [], dataSource: { items = [] } = {}, visible, onSubmit = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const { value: { club: { name: club } = {}, currency } = {} } = useStore();\n\n useEffect(() => {\n if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;\n }, [cart]);\n\n const handleCancel = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, false);\n };\n\n if (!memoizedDiscount) memoizedDiscount = getDiscount({ cart, items });\n\n return (\n <Modal visible={visible}>\n <View {...others} className={style.container}>\n <View className={style.banner}>\n <View className={style.texts}>\n <Text bold brand headline className={style.text} key=\"discount\">\n {translate(memoizedDiscount ? L10N.LABEL_SAVE_JOINING_CLUB : L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER, {\n club,\n discount: currencyFormat({ currency, value: memoizedDiscount }),\n })}\n </Text>\n <Text action className={style.text} kwy=\"registration\">\n {translate(L10N.LABEL_FREE_REGISTRATION_CLUB)}\n </Text>\n </View>\n\n <Button onPress={onSubmit} wide>\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n </View>\n\n <Action secondary wide onPress={handleCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n </Modal>\n );\n};\n\nModalClubRate.displayName = 'Mirai:Core:Rates:ModalClubRate';\n\nModalClubRate.propTypes = {\n cart: PropTypes.array,\n dataSource: PropTypes.shape({}),\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ModalClubRate };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalClubRate","style","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","memoizedDiscount","undefined","ModalClubRate","_ref","cart","dataSource","items","visible","onSubmit","others","currencyFormat","translate","useLocale","value","club","name","currency","useStore","useEffect","handleCancel","Event","publish","EVENT","RATES_FILTER_CLUB","METRICS","id","METRICS_EVENTS","RATES_INTERACTION","action","action_selected","getDiscount","total","reduce","price","percentage","Math","round","loyalty_savings_amount","loyalty_savings_percentage","createElement","Modal","View","className","container","banner","texts","Text","bold","brand","headline","text","key","L10N","LABEL_SAVE_JOINING_CLUB","LABEL_UNLOCK_EXCLUSIVE_MEMBER","discount","kwy","LABEL_FREE_REGISTRATION_CLUB","Button","onPress","wide","ACTION_BOOK_AND_JOIN","Action","secondary","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","array","shape","bool","onClose","func"],"sources":["../../../../../src/components/Rates/components/ModalClubRate/ModalClubRate.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getDiscount } from './helpers';\nimport { L10N } from './ModalClubRate.l10n';\nimport * as style from './ModalClubRate.module.css';\nimport { EVENT, METRICS_EVENTS } from '../../../helpers';\n\nlet memoizedDiscount = undefined;\n\nconst ModalClubRate = ({ cart = [], dataSource: { items = [] } = {}, visible, onSubmit = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { club: { name: club } = {}, currency },\n } = useStore();\n\n useEffect(() => {\n if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;\n }, [cart]);\n\n const handleCancel = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, false);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_action',\n action_selected: 'decline_discount',\n });\n };\n\n if (!memoizedDiscount) memoizedDiscount = getDiscount({ cart, items });\n const total = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const percentage =\n total + memoizedDiscount > 0 ? Math.round((memoizedDiscount / (total + memoizedDiscount)) * 1000) / 10 : 0;\n\n useEffect(() => {\n if (!visible) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_show',\n loyalty_savings_amount: memoizedDiscount,\n loyalty_savings_percentage: percentage,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n return (\n <Modal visible={visible}>\n <View {...others} className={style.container}>\n <View className={style.banner}>\n <View className={style.texts}>\n <Text bold brand headline className={style.text} key=\"discount\">\n {translate(memoizedDiscount ? L10N.LABEL_SAVE_JOINING_CLUB : L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER, {\n club,\n discount: currencyFormat({ currency, value: memoizedDiscount }),\n })}\n </Text>\n <Text action className={style.text} kwy=\"registration\">\n {translate(L10N.LABEL_FREE_REGISTRATION_CLUB)}\n </Text>\n </View>\n\n <Button\n onPress={() => {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_action',\n action_selected: 'book_and_join',\n });\n onSubmit();\n }}\n wide\n >\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n </View>\n\n <Action secondary wide onPress={handleCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n </Modal>\n );\n};\n\nModalClubRate.displayName = 'Mirai:Core:Rates:ModalClubRate';\n\nModalClubRate.propTypes = {\n cart: PropTypes.array,\n dataSource: PropTypes.shape({}),\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ModalClubRate };\n"],"mappings":"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","ignoreList":[]}
@@ -54,8 +54,23 @@ const ModalExtras = _ref => {
54
54
  const [extras, setExtras] = (0, _react.useState)(propExtras);
55
55
  (0, _react.useEffect)(() => {
56
56
  if (visible) {
57
+ var _cart$;
57
58
  setExtras(propExtras);
59
+ const roomType = cart === null || cart === void 0 ? void 0 : (_cart$ = cart[0]) === null || _cart$ === void 0 ? void 0 : _cart$.roomName;
60
+ const roomPrice = cart === null || cart === void 0 ? void 0 : cart.reduce(function (total) {
61
+ let {
62
+ price = 0
63
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
+ return total + price;
65
+ }, 0);
66
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
67
+ id: _helpers2.METRICS_EVENTS.EXTRAS_READY,
68
+ room_type: roomType,
69
+ room_price: roomPrice,
70
+ extras_count: propExtras === null || propExtras === void 0 ? void 0 : propExtras.length
71
+ });
58
72
  }
73
+ // eslint-disable-next-line react-hooks/exhaustive-deps
59
74
  }, [propExtras, visible]);
60
75
  const handleChange = function () {
61
76
  let {
@@ -69,6 +84,7 @@ const ModalExtras = _ref => {
69
84
  })));
70
85
  };
71
86
  const handleSelect = id => {
87
+ var _value, _value2;
72
88
  const next = extras.map(_ref2 => {
73
89
  let {
74
90
  selected = false
@@ -79,9 +95,33 @@ const ModalExtras = _ref => {
79
95
  });
80
96
  });
81
97
  setExtras(next);
98
+ const selectedExtra = next.find(extra => extra.id === id);
99
+ const totalSelected = next.filter(_ref3 => {
100
+ let {
101
+ selected
102
+ } = _ref3;
103
+ return selected;
104
+ }).length;
105
+ const {
106
+ amount,
107
+ nights,
108
+ value,
109
+ valueAmount,
110
+ valueNights
111
+ } = selectedExtra || {};
112
+ const price = value === null || value === void 0 ? void 0 : (_value = value[valueAmount || amount]) === null || _value === void 0 ? void 0 : (_value2 = _value[valueNights || nights]) === null || _value2 === void 0 ? void 0 : _value2.price;
113
+ const position = next.findIndex(extra => extra.id === id) + 1;
114
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
115
+ id: _helpers2.METRICS_EVENTS.EXTRAS_INTERACTION,
116
+ action: selectedExtra !== null && selectedExtra !== void 0 && selectedExtra.selected ? 'add' : 'remove',
117
+ extra_name: selectedExtra === null || selectedExtra === void 0 ? void 0 : selectedExtra.title,
118
+ extra_price: price,
119
+ extra_position: position || undefined,
120
+ total_extras_selected: totalSelected
121
+ });
82
122
  };
83
123
  const handleSubmit = () => {
84
- onSubmit(extras.filter(item => item.selected || item.included).map(_ref3 => {
124
+ onSubmit(extras.filter(item => item.selected || item.included).map(_ref4 => {
85
125
  var _baseValue;
86
126
  let {
87
127
  amount,
@@ -91,7 +131,7 @@ const ModalExtras = _ref => {
91
131
  included,
92
132
  valueAmount,
93
133
  valueNights
94
- } = _ref3;
134
+ } = _ref4;
95
135
  return {
96
136
  id,
97
137
  included,
@@ -109,7 +149,7 @@ const ModalExtras = _ref => {
109
149
  return value + price;
110
150
  }, 0);
111
151
  const totalExtras = extras.filter(item => item.selected).reduce(function (total) {
112
- var _value;
152
+ var _value3;
113
153
  let {
114
154
  amount,
115
155
  nights,
@@ -117,7 +157,7 @@ const ModalExtras = _ref => {
117
157
  valueNights,
118
158
  value = {}
119
159
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
120
- return total + (((_value = value[valueAmount || amount][valueNights || nights]) === null || _value === void 0 ? void 0 : _value.price) || 0);
160
+ return total + (((_value3 = value[valueAmount || amount][valueNights || nights]) === null || _value3 === void 0 ? void 0 : _value3.price) || 0);
121
161
  }, 0);
122
162
  const {
123
163
  place: {
@@ -277,10 +317,10 @@ const ModalExtras = _ref => {
277
317
  light: true,
278
318
  small: true
279
319
  }, translate((0, _helpers3.getLabelTaxes)(taxesType))), /*#__PURE__*/_react.default.createElement(_components.PriceDetails, _extends({
280
- extras: extras.filter(_ref4 => {
320
+ extras: extras.filter(_ref5 => {
281
321
  let {
282
322
  selected
283
- } = _ref4;
323
+ } = _ref5;
284
324
  return selected;
285
325
  }),
286
326
  cart: cart,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","handleChange","id","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","handleSubmit","item","included","_ref3","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref4","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n }\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\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","_cart$","roomType","roomName","roomPrice","reduce","total","price","undefined","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","EXTRAS_READY","room_type","room_price","extras_count","handleChange","field","map","extra","parseInt","handleSelect","_value","_value2","next","_ref2","selected","selectedExtra","find","totalSelected","_ref3","amount","nights","valueAmount","valueNights","position","findIndex","EXTRAS_INTERACTION","action","extra_name","title","extra_price","extra_position","total_extras_selected","handleSubmit","item","included","_ref4","_baseValue","baseValue","hasSelected","totalExtras","_value3","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref5","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel, METRICS_EVENTS } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n const roomType = cart?.[0]?.roomName;\n const roomPrice = cart?.reduce((total, { price = 0 } = {}) => total + price, 0);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_READY,\n room_type: roomType,\n room_price: roomPrice,\n extras_count: propExtras?.length,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\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 const selectedExtra = next.find((extra) => extra.id === id);\n const totalSelected = next.filter(({ selected }) => selected).length;\n const { amount, nights, value, valueAmount, valueNights } = selectedExtra || {};\n const price = value?.[valueAmount || amount]?.[valueNights || nights]?.price;\n const position = next.findIndex((extra) => extra.id === id) + 1;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: selectedExtra?.selected ? 'add' : 'remove',\n extra_name: selectedExtra?.title,\n extra_price: price,\n extra_position: position || undefined,\n total_extras_selected: totalSelected,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
@@ -49,6 +49,8 @@ const ModalTwin = _ref => {
49
49
  } = (0, _ui.useDevice)();
50
50
  const {
51
51
  value: {
52
+ currency,
53
+ finder = {},
52
54
  finder: {
53
55
  place: {
54
56
  id: [hotelId] = [],
@@ -56,7 +58,9 @@ const ModalTwin = _ref => {
56
58
  } = {}
57
59
  } = {},
58
60
  hotel = {},
59
- language
61
+ language,
62
+ locale,
63
+ urlParams
60
64
  } = {}
61
65
  } = (0, _dataSources.useStore)();
62
66
  const iframeRef = (0, _react.useRef)();
@@ -65,6 +69,9 @@ const ModalTwin = _ref => {
65
69
  const [loaded, setLoaded] = (0, _react.useState)();
66
70
  const [scrollTo, setScrollTo] = (0, _react.useState)();
67
71
  const [selectedId, setSelectedId] = (0, _react.useState)();
72
+ const loadStartRef = (0, _react.useRef)();
73
+ const loadedTrackedRef = (0, _react.useRef)(false);
74
+ const selectedByUserRef = (0, _react.useRef)(false);
68
75
  (0, _react.useEffect)(() => {
69
76
  const callback = _ref2 => {
70
77
  let {
@@ -90,11 +97,24 @@ const ModalTwin = _ref => {
90
97
  roomId
91
98
  } = {}
92
99
  } = event;
93
-
94
- // eslint-disable-next-line no-console
95
- console.log('Mensaje recibido:', event);
96
100
  debounceSelectId(roomId);
97
- if (isLoaded) setLoaded(true);
101
+ if (roomId) {
102
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
103
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
104
+ action: 'change_room',
105
+ method: 'map'
106
+ });
107
+ }
108
+ if (isLoaded && !loadedTrackedRef.current) {
109
+ const loadTime = loadStartRef.current ? Math.round(performance.now() - loadStartRef.current) : undefined;
110
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
111
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
112
+ action: 'loaded',
113
+ load_time_ms: loadTime
114
+ });
115
+ loadedTrackedRef.current = true;
116
+ setLoaded(true);
117
+ }
98
118
  };
99
119
  if (!isMobile && selectedId) setTimeout(() => {
100
120
  var _itemsRef$current$sel;
@@ -144,6 +164,11 @@ const ModalTwin = _ref => {
144
164
  iframeRef === null || iframeRef === void 0 ? void 0 : (_iframeRef$current = iframeRef.current) === null || _iframeRef$current === void 0 ? void 0 : (_iframeRef$current$co = _iframeRef$current.contentWindow) === null || _iframeRef$current$co === void 0 ? void 0 : _iframeRef$current$co.postMessage({
145
165
  roomId: id
146
166
  }, process.env.TWIN_URL);
167
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
168
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
169
+ action: 'change_room',
170
+ method: 'card'
171
+ });
147
172
  }
148
173
  };
149
174
  const handleClose = () => {
@@ -151,6 +176,12 @@ const ModalTwin = _ref => {
151
176
  setLoaded();
152
177
  setExpanded();
153
178
  setScrollTo();
179
+ if (!selectedByUserRef.current) {
180
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
181
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
182
+ action: 'close'
183
+ });
184
+ }
154
185
  onClose();
155
186
  };
156
187
  const handleFilters = () => {
@@ -183,6 +214,11 @@ const ModalTwin = _ref => {
183
214
  };
184
215
  const handleSelect = id => {
185
216
  var _filteredItems$find;
217
+ selectedByUserRef.current = true;
218
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
219
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
220
+ action: 'select'
221
+ });
186
222
  onSelect((_filteredItems$find = filteredItems.find(item => item.id === id)) === null || _filteredItems$find === void 0 ? void 0 : _filteredItems$find.boards[0]);
187
223
  handleClose(false);
188
224
  };
@@ -216,6 +252,16 @@ const ModalTwin = _ref => {
216
252
  }),
217
253
  // eslint-disable-next-line react-hooks/exhaustive-deps
218
254
  [hotel, hotelId, isHotel, language]);
255
+ (0, _react.useEffect)(() => {
256
+ if (!selected) return;
257
+ loadStartRef.current = performance.now();
258
+ loadedTrackedRef.current = false;
259
+ selectedByUserRef.current = false;
260
+ _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
261
+ id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
262
+ action: 'open'
263
+ });
264
+ }, [currency, dataSource, finder, language, locale, selected, urlParams]);
219
265
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
220
266
  displayName: ModalTwin.displayName,
221
267
  fit: true,