@mirai/core 0.3.198 → 0.3.200

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.
@@ -108,7 +108,8 @@ const Menu = _ref => {
108
108
  }, translate((0, _helpers.getButtonPaymentKey)({
109
109
  ...config,
110
110
  ...info,
111
- method
111
+ method,
112
+ payLater: true
112
113
  }), {
113
114
  amount: (0, _locale.currencyFormat)({
114
115
  currency,
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_helpers","_Booking2","_Booking3","style","_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","Menu","_ref","dataSource","error","onError","onPress","others","isDesktop","useDevice","locale","translate","useLocale","value","payment","method","useStore","modalPayment","setModalPayment","useState","visible","setVisible","useEffect","handlePress","action","currency","isPostponable","config","info","price","prepayment","state","STATE","CONFIRMED","hasPayment","is","confirmed","postponable","createElement","View","row","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","ACTION","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","CANCEL","Button","secondary","large","wide","button","ACTION_SHOW_OPTIONS","getButtonPaymentKey","amount","currencyFormat","symbol","Modal","preventDefault","onClose","PriceBreakdown","showPayment","exports","displayName","propTypes","PropTypes","shape","oneOf","values","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, Modal, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceBreakdown } from './Booking.PriceBreakdown';\nimport { getButtonPaymentKey } from '../../helpers';\nimport { ICON } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, error = false, onError = () => {}, onPress = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { locale, translate } = useLocale();\n const { value: { payment: { method } = {} } = {} } = useStore();\n\n const [modalPayment, setModalPayment] = useState(false);\n const [visible, setVisible] = useState(isDesktop);\n\n useEffect(() => {\n setVisible(isDesktop || false);\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) setVisible(false);\n if (!action) return;\n\n onPress(action);\n };\n const {\n currency,\n isPostponable = false,\n payment: { config = {}, info = {} } = {},\n price: { prepayment = {} } = {},\n state = STATE.CONFIRMED,\n } = dataSource;\n const { value } = prepayment[method] || {};\n const hasPayment = !!dataSource?.payment;\n const is = {\n confirmed: state === STATE.CONFIRMED,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View\n {...others}\n row={!isDesktop && hasPayment}\n className={styles(style.menu, style.noPrint, hasPayment && !isDesktop && style.payment, others.className)}\n >\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable && {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n },\n is.confirmed && {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n },\n ]}\n visible={visible}\n onPress={handlePress}\n />\n\n {!isDesktop && (\n <Button\n secondary={hasPayment}\n large={!hasPayment}\n wide={!hasPayment}\n onPress={() => setVisible(!visible)}\n className={style.button}\n >\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n {!isDesktop && hasPayment && (\n <Button onPress={error ? onError : () => setModalPayment(!modalPayment)} className={style.button}>\n {translate(getButtonPaymentKey({ ...config, ...info, method }), {\n amount: currencyFormat({ currency, locale, symbol: true, value }),\n })}\n </Button>\n )}\n <Modal preventDefault={false} visible={modalPayment} onClose={() => setModalPayment(false)}>\n <PriceBreakdown dataSource={dataSource} showPayment={!isDesktop} />\n </Modal>\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_helpers","_Booking2","_Booking3","style","_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","Menu","_ref","dataSource","error","onError","onPress","others","isDesktop","useDevice","locale","translate","useLocale","value","payment","method","useStore","modalPayment","setModalPayment","useState","visible","setVisible","useEffect","handlePress","action","currency","isPostponable","config","info","price","prepayment","state","STATE","CONFIRMED","hasPayment","is","confirmed","postponable","createElement","View","row","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","ACTION","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","CANCEL","Button","secondary","large","wide","button","ACTION_SHOW_OPTIONS","getButtonPaymentKey","payLater","amount","currencyFormat","symbol","Modal","preventDefault","onClose","PriceBreakdown","showPayment","exports","displayName","propTypes","PropTypes","shape","oneOf","values","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, Modal, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceBreakdown } from './Booking.PriceBreakdown';\nimport { getButtonPaymentKey } from '../../helpers';\nimport { ICON } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, error = false, onError = () => {}, onPress = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { locale, translate } = useLocale();\n const { value: { payment: { method } = {} } = {} } = useStore();\n\n const [modalPayment, setModalPayment] = useState(false);\n const [visible, setVisible] = useState(isDesktop);\n\n useEffect(() => {\n setVisible(isDesktop || false);\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) setVisible(false);\n if (!action) return;\n\n onPress(action);\n };\n const {\n currency,\n isPostponable = false,\n payment: { config = {}, info = {} } = {},\n price: { prepayment = {} } = {},\n state = STATE.CONFIRMED,\n } = dataSource;\n const { value } = prepayment[method] || {};\n const hasPayment = !!dataSource?.payment;\n const is = {\n confirmed: state === STATE.CONFIRMED,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View\n {...others}\n row={!isDesktop && hasPayment}\n className={styles(style.menu, style.noPrint, hasPayment && !isDesktop && style.payment, others.className)}\n >\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable && {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n },\n is.confirmed && {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n },\n ]}\n visible={visible}\n onPress={handlePress}\n />\n\n {!isDesktop && (\n <Button\n secondary={hasPayment}\n large={!hasPayment}\n wide={!hasPayment}\n onPress={() => setVisible(!visible)}\n className={style.button}\n >\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n {!isDesktop && hasPayment && (\n <Button onPress={error ? onError : () => setModalPayment(!modalPayment)} className={style.button}>\n {translate(getButtonPaymentKey({ ...config, ...info, method, payLater: true }), {\n amount: currencyFormat({ currency, locale, symbol: true, value }),\n })}\n </Button>\n )}\n <Modal preventDefault={false} visible={modalPayment} onClose={() => setModalPayment(false)}>\n <PriceBreakdown dataSource={dataSource} showPayment={!isDesktop} />\n </Modal>\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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"}
@@ -132,7 +132,8 @@ const PriceBreakdown = _ref => {
132
132
  }), translate((0, _helpers.getButtonPaymentKey)({
133
133
  ...paymentData.config,
134
134
  ...paymentData.info,
135
- method
135
+ method,
136
+ payLater: true
136
137
  }), {
137
138
  amount: (0, _locale.currencyFormat)({
138
139
  currency: paymentCurrency,
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.PriceBreakdown.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_helpers","_Booking","_Booking2","style","_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","PriceBreakdown","_ref","_paymentData$config","dataSource","error","showPayment","onError","onValid","locale","translate","useLocale","value","hotel","payment","urlParams","idHotel","id","useStore","busy","setBusy","useState","responseError","setResponseError","useEffect","handleError","handlePress","handleSubmit","code","tracking","ServiceBooking","update","catch","currency","paymentData","price","base","description","prepayment","method","paymentCurrency","createElement","className","styles","group","priceBreakdown","Notification","inline","small","warning","concat","L10N","LABEL_BASE_PRICE_VALUE","currencyFormat","FORMAT_CURRENCY","trim","Fragment","wide","noPrint","NOTIFICATION_ERROR","ERROR","UNKNOWN","ButtonPayment","config","publicKey","large","promise","onPress","getButtonPaymentKey","info","amount","symbol","Text","lighten","footer","NOTIFICATION_SSL_ENCRYPTION","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.PriceBreakdown.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment, PriceBreakdown as PriceBreakdownBase } from '../../__shared__';\nimport { getButtonPaymentKey } from '../../helpers';\nimport { FORMAT_CURRENCY } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst PriceBreakdown = ({\n dataSource = {},\n error = false,\n showPayment = false,\n onError = () => {},\n onValid = () => {},\n}) => {\n const { locale, translate } = useLocale();\n const { value: { hotel = {}, payment = {}, urlParams: { idHotel: id, ...urlParams } = {} } = {} } = useStore();\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => setResponseError(), [payment]);\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = (value) => {\n if (error) return onError();\n\n onValid();\n setResponseError();\n\n const { id } = dataSource;\n const { code, tracking } = urlParams;\n\n return ServiceBooking.update({ code, id, payment: { ...payment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n });\n };\n\n const { currency, payment: paymentData, price: { base, description, prepayment = {} } = {} } = dataSource;\n const { method } = payment;\n const { currency: paymentCurrency, value } = prepayment[method] || {};\n\n return (\n <PriceBreakdownBase dataSource={dataSource} className={styles(style.group, style.priceBreakdown)}>\n {(base || description) && (\n <Notification inline small warning>\n {`${\n base\n ? translate(L10N.LABEL_BASE_PRICE_VALUE, {\n value: currencyFormat({ ...FORMAT_CURRENCY, currency, locale, value: base }),\n })\n : ''\n } ${description}`.trim()}\n </Notification>\n )}\n {showPayment && paymentData && (\n <>\n {responseError && (\n <Notification error small wide className={style.noPrint}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n <ButtonPayment\n {...{ ...paymentData, config: { ...paymentData.config, publicKey: paymentData.config?.publicKey[method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n className={style.noPrint}\n >\n {translate(getButtonPaymentKey({ ...paymentData.config, ...paymentData.info, method }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, symbol: true, value }),\n })}\n </ButtonPayment>\n <Text lighten small wide className={styles(style.footer, style.noPrint)}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </>\n )}\n </PriceBreakdownBase>\n );\n};\n\nPriceBreakdown.displayName = 'Mirai:Core:Booking:PriceBreakdown';\n\nPriceBreakdown.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n showPayment: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { PriceBreakdown };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.PriceBreakdown.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_helpers","_Booking","_Booking2","style","_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","PriceBreakdown","_ref","_paymentData$config","dataSource","error","showPayment","onError","onValid","locale","translate","useLocale","value","hotel","payment","urlParams","idHotel","id","useStore","busy","setBusy","useState","responseError","setResponseError","useEffect","handleError","handlePress","handleSubmit","code","tracking","ServiceBooking","update","catch","currency","paymentData","price","base","description","prepayment","method","paymentCurrency","createElement","className","styles","group","priceBreakdown","Notification","inline","small","warning","concat","L10N","LABEL_BASE_PRICE_VALUE","currencyFormat","FORMAT_CURRENCY","trim","Fragment","wide","noPrint","NOTIFICATION_ERROR","ERROR","UNKNOWN","ButtonPayment","config","publicKey","large","promise","onPress","getButtonPaymentKey","info","payLater","amount","symbol","Text","lighten","footer","NOTIFICATION_SSL_ENCRYPTION","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.PriceBreakdown.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment, PriceBreakdown as PriceBreakdownBase } from '../../__shared__';\nimport { getButtonPaymentKey } from '../../helpers';\nimport { FORMAT_CURRENCY } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst PriceBreakdown = ({\n dataSource = {},\n error = false,\n showPayment = false,\n onError = () => {},\n onValid = () => {},\n}) => {\n const { locale, translate } = useLocale();\n const { value: { hotel = {}, payment = {}, urlParams: { idHotel: id, ...urlParams } = {} } = {} } = useStore();\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => setResponseError(), [payment]);\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = (value) => {\n if (error) return onError();\n\n onValid();\n setResponseError();\n\n const { id } = dataSource;\n const { code, tracking } = urlParams;\n\n return ServiceBooking.update({ code, id, payment: { ...payment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n });\n };\n\n const { currency, payment: paymentData, price: { base, description, prepayment = {} } = {} } = dataSource;\n const { method } = payment;\n const { currency: paymentCurrency, value } = prepayment[method] || {};\n\n return (\n <PriceBreakdownBase dataSource={dataSource} className={styles(style.group, style.priceBreakdown)}>\n {(base || description) && (\n <Notification inline small warning>\n {`${\n base\n ? translate(L10N.LABEL_BASE_PRICE_VALUE, {\n value: currencyFormat({ ...FORMAT_CURRENCY, currency, locale, value: base }),\n })\n : ''\n } ${description}`.trim()}\n </Notification>\n )}\n {showPayment && paymentData && (\n <>\n {responseError && (\n <Notification error small wide className={style.noPrint}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n <ButtonPayment\n {...{ ...paymentData, config: { ...paymentData.config, publicKey: paymentData.config?.publicKey[method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n className={style.noPrint}\n >\n {translate(getButtonPaymentKey({ ...paymentData.config, ...paymentData.info, method, payLater: true }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, symbol: true, value }),\n })}\n </ButtonPayment>\n <Text lighten small wide className={styles(style.footer, style.noPrint)}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </>\n )}\n </PriceBreakdownBase>\n );\n};\n\nPriceBreakdown.displayName = 'Mirai:Core:Booking:PriceBreakdown';\n\nPriceBreakdown.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n showPayment: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { PriceBreakdown };\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Hotelverse = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
9
  var _ui = require("@mirai/ui");
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireWildcard(require("react"));
@@ -17,12 +16,13 @@ var _helpers = require("../../../helpers");
17
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); }
18
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; }
19
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
- const FEATURE = {
21
- HOTELVERSE: 'hotelverse'
22
- };
23
19
  const Hotelverse = _ref => {
24
20
  let {
25
21
  country,
22
+ hotelverse: {
23
+ hash,
24
+ token
25
+ } = {},
26
26
  infantAge,
27
27
  items = [],
28
28
  multiRoom,
@@ -50,27 +50,12 @@ const Hotelverse = _ref => {
50
50
  } = {},
51
51
  session,
52
52
  urlParams: {
53
- idtokenprovider: idHotel,
54
- showBanner: show
53
+ idtokenprovider: idHotel
55
54
  } = {}
56
55
  } = {}
57
56
  } = (0, _dataSources.useStore)();
58
57
  const [open, setOpen] = (0, _react.useState)(false);
59
- const [token, setToken] = (0, _react.useState)();
60
58
  const container = (0, _react.useRef)(null);
61
- (0, _react.useEffect)(() => {
62
- if ((show === 'true' || _services.ServiceFeatures.get(FEATURE.HOTELVERSE, idHotel)) && checkIn && !multiRoom) {
63
- (async () => {
64
- setToken(await _services.ServiceHotelVerse.getToken({
65
- checkin: (0, _locale.dateFormat)(checkIn, {
66
- format: _helpers.CALENDAR_FORMAT
67
- }),
68
- idHotel
69
- }));
70
- })();
71
- } else setToken();
72
- // eslint-disable-next-line react-hooks/exhaustive-deps
73
- }, [checkIn, checkOut, multiRoom]);
74
59
  (0, _react.useEffect)(() => {
75
60
  const el = container.current;
76
61
  const cdn = process.env.HOTELVERSE_CDN;
@@ -161,7 +146,7 @@ const Hotelverse = _ref => {
161
146
  language,
162
147
  promocode
163
148
  }));
164
- return token ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
149
+ return !multiRoom && hash && token ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
165
150
  onPress: () => setOpen(!open),
166
151
  className: [style.pressable, style.center, others.className, isMobile && discount && !session && style.wide]
167
152
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
@@ -182,20 +167,25 @@ const Hotelverse = _ref => {
182
167
  ref: container
183
168
  }, /*#__PURE__*/_react.default.createElement("div", {
184
169
  id: "hv",
185
- "data-hvexthotelid": idHotel,
186
- "data-hvclientid": "6",
187
- "data-hvproduct": "BookYourRoom",
188
170
  "data-hvaccesstokenhv": token,
171
+ "data-hvclientid": "6",
189
172
  "data-hvcommandsinterface": commandInterface,
173
+ "data-hvcurrency": currency,
174
+ "data-hvexthotelid": idHotel,
175
+ "data-hvhash": hash,
190
176
  "data-hvlanguage": language.toUpperCase(),
191
- "data-hvsearch": search,
192
- "data-hvcurrency": currency
177
+ "data-hvproduct": "BookYourRoom",
178
+ "data-hvsearch": search
193
179
  })))) : null;
194
180
  };
195
181
  exports.Hotelverse = Hotelverse;
196
182
  Hotelverse.displayName = 'Mirai:Core:Rates:Hotelverse';
197
183
  Hotelverse.propTypes = {
198
184
  country: _propTypes.default.string,
185
+ hotelverse: _propTypes.default.shape({
186
+ hash: _propTypes.default.string,
187
+ token: _propTypes.default.string
188
+ }),
199
189
  infantAge: _propTypes.default.number,
200
190
  items: _propTypes.default.array,
201
191
  multiRoom: _propTypes.default.bool,
@@ -1 +1 @@
1
- {"version":3,"file":"Hotelverse.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Hotelverse","style","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","FEATURE","HOTELVERSE","Hotelverse","_ref","country","infantAge","items","multiRoom","taxes","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","currency","language","finder","calendar","checkIn","checkOut","occupation","promocode","session","urlParams","idtokenprovider","idHotel","showBanner","show","useStore","open","setOpen","useState","token","setToken","container","useRef","useEffect","ServiceFeatures","ServiceHotelverse","getToken","checkin","dateFormatBase","format","CALENDAR_FORMAT","el","current","cdn","process","env","HOTELVERSE_CDN","scriptEmbed","addScript","concat","scriptListener","document","body","classList","add","window","callbackSelectRoom","hvIsOr","hvLocator","idHotelverse","hvRoomNumber","roomNumber","resultKey","arguments","length","undefined","boardId","replace","board","flatMap","boards","find","id","subjectToAvailability","remove","removeChild","dateFormat","date","delimiter","btoa","commandInterface","JSON","stringify","onSelectRoom","callback","enabled","method","customParams","amount","adults","type","TYPE_OCCUPATION","CHILD","ages","childAges","children","filter","age","infants","search","paxes","taxIncluded","createElement","Fragment","Pressable","onPress","className","pressable","center","wide","Icon","ICON","THREE_D","Text","action","bold","L10N","ACTION_HOTEL_VERSE","Modal","blur","fit","portal","title","LABEL_HOTEL_VERSE","visible","onClose","modal","ref","toUpperCase","exports","displayName","propTypes","PropTypes","string","number","array","bool","func"],"sources":["../../../../../src/components/Rates/components/Hotelverse/Hotelverse.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateFormat as dateFormatBase, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceHotelVerse as ServiceHotelverse } from '@mirai/services';\nimport { Icon, Modal, Pressable, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Hotelverse.l10n';\nimport * as style from './Hotelverse.module.css';\nimport { TYPE_OCCUPATION } from '../../../__shared__';\nimport { addScript, CALENDAR_FORMAT, ICON } from '../../../helpers';\n\nconst FEATURE = { HOTELVERSE: 'hotelverse' };\n\nconst Hotelverse = ({ country, infantAge, items = [], multiRoom, taxes, onSelect = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { discount } = {},\n currency,\n language,\n finder: { calendar: [checkIn, checkOut] = [], occupation: [occupation] = [], promocode = '' } = {},\n session,\n urlParams: { idtokenprovider: idHotel, showBanner: show } = {},\n } = {},\n } = useStore();\n\n const [open, setOpen] = useState(false);\n const [token, setToken] = useState();\n\n const container = useRef(null);\n\n useEffect(() => {\n if ((show === 'true' || ServiceFeatures.get(FEATURE.HOTELVERSE, idHotel)) && checkIn && !multiRoom) {\n (async () => {\n setToken(\n await ServiceHotelverse.getToken({ checkin: dateFormatBase(checkIn, { format: CALENDAR_FORMAT }), idHotel }),\n );\n })();\n } else setToken();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkIn, checkOut, multiRoom]);\n\n useEffect(() => {\n const el = container.current;\n const cdn = process.env.HOTELVERSE_CDN;\n const scriptEmbed = open && addScript(el, `${cdn}/scripts/embed.js`);\n const scriptListener = open && addScript(el, `${cdn}/scripts/interfaceListener.js`);\n\n if (open) {\n document.body.classList.add('hotelverse-open');\n\n window.callbackSelectRoom = ([{ hvIsOr, hvLocator: idHotelverse, hvRoomNumber: roomNumber, resultKey }] = []) => {\n setOpen(false);\n\n const boardId = resultKey.replace(/\\|/g, '--');\n const board = items.flatMap(({ boards } = {}) => boards).find(({ id } = {}) => id === boardId);\n\n onSelect(board, { idHotelverse, roomNumber, subjectToAvailability: hvIsOr });\n };\n }\n\n return () => {\n document.body.classList.remove('hotelverse-open');\n if (scriptEmbed) el?.removeChild(scriptEmbed);\n if (scriptListener) el?.removeChild(scriptListener);\n window.callbackSelectRoom = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n const dateFormat = (date) => dateFormatBase(date, { delimiter: '-', format: 'YYYY-MM-DD' });\n\n const { btoa } = window;\n const commandInterface = btoa(\n JSON.stringify({\n onSelectRoom: {\n callback: 'callbackSelectRoom',\n enabled: true,\n method: 'PostMessage',\n customParams: [],\n },\n }),\n );\n\n const { amount: adults = 0 } = occupation.find(({ type } = {}) => type !== TYPE_OCCUPATION.CHILD) || {};\n const { ages: childAges = [] } = occupation.find(({ type } = {}) => type === TYPE_OCCUPATION.CHILD) || {};\n const children = childAges.filter((age) => age > infantAge).length;\n const infants = childAges.filter((age) => age < infantAge).length;\n const search = btoa(\n JSON.stringify({\n checkIn: dateFormat(checkIn),\n checkOut: dateFormat(checkOut),\n paxes: [{ adults, children, infants, childAges }],\n taxIncluded: !!taxes,\n currency,\n country,\n language,\n promocode,\n }),\n );\n\n return token ? (\n <>\n <Pressable\n onPress={() => setOpen(!open)}\n className={[style.pressable, style.center, others.className, isMobile && discount && !session && style.wide]}\n >\n <Icon value={ICON.THREE_D} />\n <Text action bold>\n {translate(L10N.ACTION_HOTEL_VERSE)}\n </Text>\n </Pressable>\n <Modal\n blur\n fit\n portal\n title={translate(L10N.LABEL_HOTEL_VERSE)}\n visible={open}\n onClose={() => setOpen(false)}\n data-testid=\"hv-modal\"\n className={style.modal}\n >\n {open && (\n <div ref={container}>\n <div\n id=\"hv\"\n data-hvexthotelid={idHotel}\n data-hvclientid=\"6\"\n data-hvproduct=\"BookYourRoom\"\n data-hvaccesstokenhv={token}\n data-hvcommandsinterface={commandInterface}\n data-hvlanguage={language.toUpperCase()}\n data-hvsearch={search}\n data-hvcurrency={currency}\n ></div>\n </div>\n )}\n </Modal>\n </>\n ) : null;\n};\n\nHotelverse.displayName = 'Mirai:Core:Rates:Hotelverse';\n\nHotelverse.propTypes = {\n country: PropTypes.string,\n infantAge: PropTypes.number,\n items: PropTypes.array,\n multiRoom: PropTypes.bool,\n taxes: PropTypes.string,\n onSelect: PropTypes.func,\n};\n\nexport { Hotelverse };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Hotelverse.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Hotelverse","style","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Hotelverse","_ref","country","hotelverse","hash","token","infantAge","items","multiRoom","taxes","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","currency","language","finder","calendar","checkIn","checkOut","occupation","promocode","session","urlParams","idtokenprovider","idHotel","useStore","open","setOpen","useState","container","useRef","useEffect","el","current","cdn","process","env","HOTELVERSE_CDN","scriptEmbed","addScript","concat","scriptListener","document","body","classList","add","window","callbackSelectRoom","hvIsOr","hvLocator","idHotelverse","hvRoomNumber","roomNumber","resultKey","arguments","length","undefined","boardId","replace","board","flatMap","boards","find","id","subjectToAvailability","remove","removeChild","dateFormat","date","dateFormatBase","delimiter","format","btoa","commandInterface","JSON","stringify","onSelectRoom","callback","enabled","method","customParams","amount","adults","type","TYPE_OCCUPATION","CHILD","ages","childAges","children","filter","age","infants","search","paxes","taxIncluded","createElement","Fragment","Pressable","onPress","className","pressable","center","wide","Icon","ICON","THREE_D","Text","action","bold","L10N","ACTION_HOTEL_VERSE","Modal","blur","fit","portal","title","LABEL_HOTEL_VERSE","visible","onClose","modal","ref","toUpperCase","exports","displayName","propTypes","PropTypes","string","shape","number","array","bool","func"],"sources":["../../../../../src/components/Rates/components/Hotelverse/Hotelverse.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateFormat as dateFormatBase, useLocale } from '@mirai/locale';\nimport { Icon, Modal, Pressable, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Hotelverse.l10n';\nimport * as style from './Hotelverse.module.css';\nimport { TYPE_OCCUPATION } from '../../../__shared__';\nimport { addScript, ICON } from '../../../helpers';\n\nconst Hotelverse = ({\n country,\n hotelverse: { hash, token } = {},\n infantAge,\n items = [],\n multiRoom,\n taxes,\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { discount } = {},\n currency,\n language,\n finder: { calendar: [checkIn, checkOut] = [], occupation: [occupation] = [], promocode = '' } = {},\n session,\n urlParams: { idtokenprovider: idHotel } = {},\n } = {},\n } = useStore();\n\n const [open, setOpen] = useState(false);\n\n const container = useRef(null);\n\n useEffect(() => {\n const el = container.current;\n const cdn = process.env.HOTELVERSE_CDN;\n const scriptEmbed = open && addScript(el, `${cdn}/scripts/embed.js`);\n const scriptListener = open && addScript(el, `${cdn}/scripts/interfaceListener.js`);\n\n if (open) {\n document.body.classList.add('hotelverse-open');\n\n window.callbackSelectRoom = ([{ hvIsOr, hvLocator: idHotelverse, hvRoomNumber: roomNumber, resultKey }] = []) => {\n setOpen(false);\n\n const boardId = resultKey.replace(/\\|/g, '--');\n const board = items.flatMap(({ boards } = {}) => boards).find(({ id } = {}) => id === boardId);\n\n onSelect(board, { idHotelverse, roomNumber, subjectToAvailability: hvIsOr });\n };\n }\n\n return () => {\n document.body.classList.remove('hotelverse-open');\n if (scriptEmbed) el?.removeChild(scriptEmbed);\n if (scriptListener) el?.removeChild(scriptListener);\n window.callbackSelectRoom = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n const dateFormat = (date) => dateFormatBase(date, { delimiter: '-', format: 'YYYY-MM-DD' });\n\n const { btoa } = window;\n const commandInterface = btoa(\n JSON.stringify({\n onSelectRoom: {\n callback: 'callbackSelectRoom',\n enabled: true,\n method: 'PostMessage',\n customParams: [],\n },\n }),\n );\n\n const { amount: adults = 0 } = occupation.find(({ type } = {}) => type !== TYPE_OCCUPATION.CHILD) || {};\n const { ages: childAges = [] } = occupation.find(({ type } = {}) => type === TYPE_OCCUPATION.CHILD) || {};\n const children = childAges.filter((age) => age > infantAge).length;\n const infants = childAges.filter((age) => age < infantAge).length;\n const search = btoa(\n JSON.stringify({\n checkIn: dateFormat(checkIn),\n checkOut: dateFormat(checkOut),\n paxes: [{ adults, children, infants, childAges }],\n taxIncluded: !!taxes,\n currency,\n country,\n language,\n promocode,\n }),\n );\n\n return !multiRoom && hash && token ? (\n <>\n <Pressable\n onPress={() => setOpen(!open)}\n className={[style.pressable, style.center, others.className, isMobile && discount && !session && style.wide]}\n >\n <Icon value={ICON.THREE_D} />\n <Text action bold>\n {translate(L10N.ACTION_HOTEL_VERSE)}\n </Text>\n </Pressable>\n <Modal\n blur\n fit\n portal\n title={translate(L10N.LABEL_HOTEL_VERSE)}\n visible={open}\n onClose={() => setOpen(false)}\n data-testid=\"hv-modal\"\n className={style.modal}\n >\n {open && (\n <div ref={container}>\n <div\n id=\"hv\"\n data-hvaccesstokenhv={token}\n data-hvclientid=\"6\"\n data-hvcommandsinterface={commandInterface}\n data-hvcurrency={currency}\n data-hvexthotelid={idHotel}\n data-hvhash={hash}\n data-hvlanguage={language.toUpperCase()}\n data-hvproduct=\"BookYourRoom\"\n data-hvsearch={search}\n ></div>\n </div>\n )}\n </Modal>\n </>\n ) : null;\n};\n\nHotelverse.displayName = 'Mirai:Core:Rates:Hotelverse';\n\nHotelverse.propTypes = {\n country: PropTypes.string,\n hotelverse: PropTypes.shape({\n hash: PropTypes.string,\n token: PropTypes.string,\n }),\n infantAge: PropTypes.number,\n items: PropTypes.array,\n multiRoom: PropTypes.bool,\n taxes: PropTypes.string,\n onSelect: PropTypes.func,\n};\n\nexport { Hotelverse };\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ const {
13
13
  } = _helpers.PAYMENT_METHOD;
14
14
  const {
15
15
  ACTION_BOOK_NOW,
16
+ ACTION_COMPLETE_NOW,
16
17
  ACTION_NEXT,
17
18
  ACTION_PAY_NOW
18
19
  } = _getButtonPaymentKey.L10N;
@@ -21,9 +22,10 @@ const getButtonPaymentKey = function () {
21
22
  cardValidation,
22
23
  date,
23
24
  method,
25
+ payLater,
24
26
  provider
25
27
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
- return method === TPV ? date && (0, _locale.dateDiff)((0, _locale.UTC)(new Date()), (0, _locale.parseDate)(date)).days > 0 ? ACTION_BOOK_NOW : ACTION_PAY_NOW : cardValidation && method === CARD && provider === _helpers.PAYMENT_PROVIDER.ADDON ? ACTION_NEXT : ACTION_BOOK_NOW;
28
+ return method === TPV ? date && (0, _locale.dateDiff)((0, _locale.UTC)(new Date()), (0, _locale.parseDate)(date)).days > 0 ? payLater ? ACTION_COMPLETE_NOW : ACTION_BOOK_NOW : ACTION_PAY_NOW : cardValidation && method === CARD && provider === _helpers.PAYMENT_PROVIDER.ADDON ? ACTION_NEXT : payLater ? ACTION_COMPLETE_NOW : ACTION_BOOK_NOW;
27
29
  };
28
30
  exports.getButtonPaymentKey = getButtonPaymentKey;
29
31
  //# sourceMappingURL=getButtonPaymentKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getButtonPaymentKey.js","names":["_locale","require","_getButtonPaymentKey","_helpers","CARD","TPV","PAYMENT_METHOD","ACTION_BOOK_NOW","ACTION_NEXT","ACTION_PAY_NOW","L10N","getButtonPaymentKey","cardValidation","date","method","provider","arguments","length","undefined","dateDiff","UTC","Date","parseDate","days","PAYMENT_PROVIDER","ADDON","exports"],"sources":["../../../src/components/helpers/getButtonPaymentKey.js"],"sourcesContent":["import { dateDiff, parseDate, UTC } from '@mirai/locale';\n\nimport { L10N } from './getButtonPaymentKey.l10n';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../helpers';\n\nconst { CARD, TPV } = PAYMENT_METHOD;\nconst { ACTION_BOOK_NOW, ACTION_NEXT, ACTION_PAY_NOW } = L10N;\n\nexport const getButtonPaymentKey = ({ cardValidation, date, method, provider } = {}) =>\n method === TPV\n ? date && dateDiff(UTC(new Date()), parseDate(date)).days > 0\n ? ACTION_BOOK_NOW\n : ACTION_PAY_NOW\n : cardValidation && method === CARD && provider === PAYMENT_PROVIDER.ADDON\n ? ACTION_NEXT\n : ACTION_BOOK_NOW;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG,IAAI;EAAEC;AAAI,CAAC,GAAGC,uBAAc;AACpC,MAAM;EAAEC,eAAe;EAAEC,WAAW;EAAEC;AAAe,CAAC,GAAGC,yBAAI;AAEtD,MAAMC,mBAAmB,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,cAAc;IAAEC,IAAI;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACjFF,MAAM,KAAKT,GAAG,GACVQ,IAAI,IAAI,IAAAM,gBAAQ,EAAC,IAAAC,WAAG,EAAC,IAAIC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAAC,iBAAS,EAACT,IAAI,CAAC,CAAC,CAACU,IAAI,GAAG,CAAC,GACzDhB,eAAe,GACfE,cAAc,GAChBG,cAAc,IAAIE,MAAM,KAAKV,IAAI,IAAIW,QAAQ,KAAKS,yBAAgB,CAACC,KAAK,GACxEjB,WAAW,GACXD,eAAe;AAAA;AAACmB,OAAA,CAAAf,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"getButtonPaymentKey.js","names":["_locale","require","_getButtonPaymentKey","_helpers","CARD","TPV","PAYMENT_METHOD","ACTION_BOOK_NOW","ACTION_COMPLETE_NOW","ACTION_NEXT","ACTION_PAY_NOW","L10N","getButtonPaymentKey","cardValidation","date","method","payLater","provider","arguments","length","undefined","dateDiff","UTC","Date","parseDate","days","PAYMENT_PROVIDER","ADDON","exports"],"sources":["../../../src/components/helpers/getButtonPaymentKey.js"],"sourcesContent":["import { dateDiff, parseDate, UTC } from '@mirai/locale';\n\nimport { L10N } from './getButtonPaymentKey.l10n';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../helpers';\n\nconst { CARD, TPV } = PAYMENT_METHOD;\nconst { ACTION_BOOK_NOW, ACTION_COMPLETE_NOW, ACTION_NEXT, ACTION_PAY_NOW } = L10N;\n\nexport const getButtonPaymentKey = ({ cardValidation, date, method, payLater, provider } = {}) =>\n method === TPV\n ? date && dateDiff(UTC(new Date()), parseDate(date)).days > 0\n ? payLater\n ? ACTION_COMPLETE_NOW\n : ACTION_BOOK_NOW\n : ACTION_PAY_NOW\n : cardValidation && method === CARD && provider === PAYMENT_PROVIDER.ADDON\n ? ACTION_NEXT\n : payLater\n ? ACTION_COMPLETE_NOW\n : ACTION_BOOK_NOW;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG,IAAI;EAAEC;AAAI,CAAC,GAAGC,uBAAc;AACpC,MAAM;EAAEC,eAAe;EAAEC,mBAAmB;EAAEC,WAAW;EAAEC;AAAe,CAAC,GAAGC,yBAAI;AAE3E,MAAMC,mBAAmB,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,cAAc;IAAEC,IAAI;IAAEC,MAAM;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAC3FH,MAAM,KAAKV,GAAG,GACVS,IAAI,IAAI,IAAAO,gBAAQ,EAAC,IAAAC,WAAG,EAAC,IAAIC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAAC,iBAAS,EAACV,IAAI,CAAC,CAAC,CAACW,IAAI,GAAG,CAAC,GACzDT,QAAQ,GACNR,mBAAmB,GACnBD,eAAe,GACjBG,cAAc,GAChBG,cAAc,IAAIE,MAAM,KAAKX,IAAI,IAAIa,QAAQ,KAAKS,yBAAgB,CAACC,KAAK,GACxElB,WAAW,GACXO,QAAQ,GACRR,mBAAmB,GACnBD,eAAe;AAAA;AAACqB,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA"}
@@ -8,6 +8,9 @@ const L10N = exports.L10N = {
8
8
  ACTION_BOOK_NOW: {
9
9
  id: 'user.action.book_now'
10
10
  },
11
+ ACTION_COMPLETE_NOW: {
12
+ id: 'user.action.complete_now'
13
+ },
11
14
  ACTION_NEXT: {
12
15
  id: 'user.action.next'
13
16
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getButtonPaymentKey.l10n.js","names":["L10N","exports","ACTION_BOOK_NOW","id","ACTION_NEXT","ACTION_PAY_NOW"],"sources":["../../../src/components/helpers/getButtonPaymentKey.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BOOK_NOW: { id: 'user.action.book_now' },\n ACTION_NEXT: { id: 'user.action.next' },\n ACTION_PAY_NOW: { id: 'user.action.pay_now' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,eAAe,EAAE;IAAEC,EAAE,EAAE;EAAuB,CAAC;EAC/CC,WAAW,EAAE;IAAED,EAAE,EAAE;EAAmB,CAAC;EACvCE,cAAc,EAAE;IAAEF,EAAE,EAAE;EAAsB;AAC9C,CAAC"}
1
+ {"version":3,"file":"getButtonPaymentKey.l10n.js","names":["L10N","exports","ACTION_BOOK_NOW","id","ACTION_COMPLETE_NOW","ACTION_NEXT","ACTION_PAY_NOW"],"sources":["../../../src/components/helpers/getButtonPaymentKey.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BOOK_NOW: { id: 'user.action.book_now' },\n ACTION_COMPLETE_NOW: { id: 'user.action.complete_now' },\n ACTION_NEXT: { id: 'user.action.next' },\n ACTION_PAY_NOW: { id: 'user.action.pay_now' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,eAAe,EAAE;IAAEC,EAAE,EAAE;EAAuB,CAAC;EAC/CC,mBAAmB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EACvDE,WAAW,EAAE;IAAEF,EAAE,EAAE;EAAmB,CAAC;EACvCG,cAAc,EAAE;IAAEH,EAAE,EAAE;EAAsB;AAC9C,CAAC"}
@@ -78,6 +78,7 @@ const rates = function () {
78
78
  club,
79
79
  currencyCode: hotelCurrency,
80
80
  firstChildInterval = {},
81
+ hotelverse,
81
82
  messages: {
82
83
  availabilityMessage: {
83
84
  increments
@@ -105,6 +106,7 @@ const rates = function () {
105
106
  country,
106
107
  currency: hotelCurrency,
107
108
  externalSignout: authorization && type === _constants.EXTERNAL.TYPE && (club === null || club === void 0 ? void 0 : (_club$clubLogin = club.clubLogin) === null || _club$clubLogin === void 0 ? void 0 : _club$clubLogin.status) !== _constants.VALID,
109
+ hotelverse,
108
110
  increments: increments || undefined,
109
111
  infantAge: infantAge !== null ? infantAge : undefined,
110
112
  items,
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","hotelverse","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n hotelverse,\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n hotelverse,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.198",
3
+ "version": "0.3.200",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",