@mirai/core 0.3.56 → 0.3.57

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.
@@ -48,7 +48,7 @@ const Checkout = _ref => {
48
48
  language,
49
49
  locale,
50
50
  session,
51
- urlParams
51
+ urlParams = {}
52
52
  }
53
53
  } = (0, _dataSources.useStore)();
54
54
  const [dataSource, setDataSource] = (0, _react.useState)();
@@ -78,7 +78,7 @@ const Checkout = _ref => {
78
78
  });
79
79
  });
80
80
  setDataSource(response);
81
- (0, _helpers.trackDataSource)({
81
+ response && (0, _helpers.trackDataSource)({
82
82
  ...response,
83
83
  ...urlParams,
84
84
  isMobile
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = true, skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = true, skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
@@ -6,36 +6,30 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.trackDataSource = void 0;
7
7
  var _locale = require("@mirai/locale");
8
8
  var _helpers = require("../../helpers");
9
- const trackDataSource = function () {
10
- let {
11
- response,
12
- ...others
13
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
- if (!response) return;
9
+ const trackDataSource = dataSource => {
15
10
  const {
16
11
  checkin,
17
12
  clientCode,
18
- currencies,
19
13
  currency: userCurrency,
20
- hotelCurrency,
21
- hotelLocality,
22
14
  idchain,
23
15
  idtokenprovider,
24
16
  isMobile,
25
17
  lang,
26
18
  nights,
27
19
  parties,
28
- propertyName,
29
- propertyType,
30
- reservedExtras = {},
31
- reservedRooms = {},
32
- totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,
33
- totalPriceWithTaxes: totalPriceRoomWithTaxes,
34
- userCountry
35
- } = {
36
- ...response,
37
- ...others
38
- };
20
+ tracking: {
21
+ currencies = {},
22
+ hotelCurrency,
23
+ hotelLocality,
24
+ propertyName,
25
+ propertyType,
26
+ reservedExtras = {},
27
+ reservedRooms = [],
28
+ totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,
29
+ totalPriceWithTaxes: totalPriceRoomWithTaxes,
30
+ userCountry
31
+ } = {}
32
+ } = dataSource;
39
33
  let totalNumRooms = 0;
40
34
  let totalNumAdults = 0;
41
35
  let totalNumChildren = 0;
@@ -67,7 +61,7 @@ const trackDataSource = function () {
67
61
  });
68
62
  const totalExtrasTaxes = totalExtrasWithTaxes - totalExtrasWithoutTaxes;
69
63
  const totalRoomsTaxes = totalPriceRoomWithTaxes - totalPriceRoomWithoutTaxes;
70
- return (0, _helpers.trace)({
64
+ (0, _helpers.trace)({
71
65
  bookingValues: {
72
66
  nights,
73
67
  checkin,
@@ -1 +1 @@
1
- {"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","response","others","arguments","length","undefined","checkin","clientCode","currencies","currency","userCurrency","hotelCurrency","hotelLocality","idchain","idtokenprovider","isMobile","lang","nights","parties","propertyName","propertyType","reservedExtras","reservedRooms","totalPriceWithoutTaxes","totalPriceRoomWithoutTaxes","totalPriceWithTaxes","totalPriceRoomWithTaxes","userCountry","totalNumRooms","totalNumAdults","totalNumChildren","totalNumBabies","forEach","_ref","numRoomsToReserve","occupation","numAdults","numFirstRangeChildren","numSecondRangeChildren","numBabies","totalExtrasWithTaxes","totalExtrasWithoutTaxes","Object","keys","extraKey","totalExtrasTaxes","totalRoomsTaxes","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","language","coupon","device","country","JSON","parse","window","atob","decodeURIComponent","reduce","prev","_ref2","adults","children","chainId","hotelId","hotelInfo","hotelProvince","step","totalPriceWithoutTaxesWithoutExtras","totalPriceWithTaxesWithoutExtras","totalTaxes","exports"],"sources":["../../../../src/components/Checkout/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { trace } from '../../helpers';\nexport const trackDataSource = ({ response, ...others } = {}) => {\n if (!response) return;\n\n const {\n checkin,\n clientCode,\n currencies,\n currency: userCurrency,\n hotelCurrency,\n hotelLocality,\n idchain,\n idtokenprovider,\n isMobile,\n lang,\n nights,\n parties,\n propertyName,\n propertyType,\n reservedExtras = {},\n reservedRooms = {},\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes,\n userCountry,\n } = { ...response, ...others };\n\n let totalNumRooms = 0;\n let totalNumAdults = 0;\n let totalNumChildren = 0;\n let totalNumBabies = 0;\n reservedRooms.forEach(\n ({\n numRoomsToReserve,\n occupation: { numAdults, numFirstRangeChildren, numSecondRangeChildren, numBabies } = {},\n }) => {\n totalNumRooms += numRoomsToReserve;\n totalNumAdults += numRoomsToReserve * numAdults;\n totalNumChildren += numRoomsToReserve * (numFirstRangeChildren + numSecondRangeChildren);\n totalNumBabies += numRoomsToReserve * numBabies;\n },\n );\n let totalExtrasWithTaxes = 0;\n let totalExtrasWithoutTaxes = 0;\n Object.keys(reservedExtras).forEach((extraKey) => {\n const { totalPriceWithTaxes, totalPriceWithoutTaxes } = reservedExtras[extraKey] || {};\n totalExtrasWithTaxes += totalPriceWithTaxes;\n totalExtrasWithoutTaxes += totalPriceWithoutTaxes;\n });\n const totalExtrasTaxes = totalExtrasWithTaxes - totalExtrasWithoutTaxes;\n const totalRoomsTaxes = totalPriceRoomWithTaxes - totalPriceRoomWithoutTaxes;\n\n return trace({\n bookingValues: {\n nights,\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n language: lang,\n coupon: clientCode,\n device: isMobile ? 'MOBILE' : 'DESKTOP_TABLET',\n userCurrency: currencies[userCurrency],\n country: userCountry,\n occupation: JSON.parse(window.atob(decodeURIComponent(parties))).reduce(\n (prev, { adults, children }) => prev + adults + children.length,\n 0,\n ),\n },\n chainId: idchain,\n hotelId: idtokenprovider,\n hotelInfo: { currency: currencies[hotelCurrency], hotelProvince: hotelLocality, propertyName, propertyType },\n reservedExtras,\n reservedRooms,\n step: 'CLIENTFORM',\n totalExtrasTaxes,\n totalExtrasWithoutTaxes,\n totalExtrasWithTaxes,\n totalNumAdults,\n totalNumBabies,\n totalNumChildren,\n totalNumRooms,\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes + totalExtrasWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes + totalExtrasWithTaxes,\n totalPriceWithTaxesWithoutExtras: totalPriceRoomWithTaxes,\n totalRoomsTaxes,\n totalTaxes: totalRoomsTaxes + totalExtrasTaxes,\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","dataSource","checkin","clientCode","currency","userCurrency","idchain","idtokenprovider","isMobile","lang","nights","parties","tracking","currencies","hotelCurrency","hotelLocality","propertyName","propertyType","reservedExtras","reservedRooms","totalPriceWithoutTaxes","totalPriceRoomWithoutTaxes","totalPriceWithTaxes","totalPriceRoomWithTaxes","userCountry","totalNumRooms","totalNumAdults","totalNumChildren","totalNumBabies","forEach","_ref","numRoomsToReserve","occupation","numAdults","numFirstRangeChildren","numSecondRangeChildren","numBabies","totalExtrasWithTaxes","totalExtrasWithoutTaxes","Object","keys","extraKey","totalExtrasTaxes","totalRoomsTaxes","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","language","coupon","device","country","JSON","parse","window","atob","decodeURIComponent","reduce","prev","_ref2","adults","children","length","chainId","hotelId","hotelInfo","hotelProvince","step","totalPriceWithoutTaxesWithoutExtras","totalPriceWithTaxesWithoutExtras","totalTaxes","exports"],"sources":["../../../../src/components/Checkout/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { trace } from '../../helpers';\nexport const trackDataSource = (dataSource) => {\n const {\n checkin,\n clientCode,\n currency: userCurrency,\n idchain,\n idtokenprovider,\n isMobile,\n lang,\n nights,\n parties,\n tracking: {\n currencies = {},\n hotelCurrency,\n hotelLocality,\n propertyName,\n propertyType,\n reservedExtras = {},\n reservedRooms = [],\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes,\n userCountry,\n } = {},\n } = dataSource;\n\n let totalNumRooms = 0;\n let totalNumAdults = 0;\n let totalNumChildren = 0;\n let totalNumBabies = 0;\n reservedRooms.forEach(\n ({\n numRoomsToReserve,\n occupation: { numAdults, numFirstRangeChildren, numSecondRangeChildren, numBabies } = {},\n }) => {\n totalNumRooms += numRoomsToReserve;\n totalNumAdults += numRoomsToReserve * numAdults;\n totalNumChildren += numRoomsToReserve * (numFirstRangeChildren + numSecondRangeChildren);\n totalNumBabies += numRoomsToReserve * numBabies;\n },\n );\n let totalExtrasWithTaxes = 0;\n let totalExtrasWithoutTaxes = 0;\n Object.keys(reservedExtras).forEach((extraKey) => {\n const { totalPriceWithTaxes, totalPriceWithoutTaxes } = reservedExtras[extraKey] || {};\n totalExtrasWithTaxes += totalPriceWithTaxes;\n totalExtrasWithoutTaxes += totalPriceWithoutTaxes;\n });\n const totalExtrasTaxes = totalExtrasWithTaxes - totalExtrasWithoutTaxes;\n const totalRoomsTaxes = totalPriceRoomWithTaxes - totalPriceRoomWithoutTaxes;\n\n trace({\n bookingValues: {\n nights,\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n language: lang,\n coupon: clientCode,\n device: isMobile ? 'MOBILE' : 'DESKTOP_TABLET',\n userCurrency: currencies[userCurrency],\n country: userCountry,\n occupation: JSON.parse(window.atob(decodeURIComponent(parties))).reduce(\n (prev, { adults, children }) => prev + adults + children.length,\n 0,\n ),\n },\n chainId: idchain,\n hotelId: idtokenprovider,\n hotelInfo: { currency: currencies[hotelCurrency], hotelProvince: hotelLocality, propertyName, propertyType },\n reservedExtras,\n reservedRooms,\n step: 'CLIENTFORM',\n totalExtrasTaxes,\n totalExtrasWithoutTaxes,\n totalExtrasWithTaxes,\n totalNumAdults,\n totalNumBabies,\n totalNumChildren,\n totalNumRooms,\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes + totalExtrasWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes + totalExtrasWithTaxes,\n totalPriceWithTaxesWithoutExtras: totalPriceRoomWithTaxes,\n totalRoomsTaxes,\n totalTaxes: totalRoomsTaxes + totalExtrasTaxes,\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.56",
3
+ "version": "0.3.57",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",