@mirai/core 0.4.300 → 0.4.302
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.
- package/build/components/Checkout/partials/Checkout.Confirmation.js +7 -0
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +12 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/TooltipDates/TooltipDates.js +13 -1
- package/build/components/Rates/components/Item/components/TooltipDates/TooltipDates.js.map +1 -1
- package/build/components/Rates/components/Item/components/TooltipDates/TooltipDates.module.css +3 -0
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +1 -0
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -99,10 +99,17 @@ const Confirmation = _ref => {
|
|
|
99
99
|
nights,
|
|
100
100
|
rooms = ''
|
|
101
101
|
} = urlParams;
|
|
102
|
+
const {
|
|
103
|
+
form = {}
|
|
104
|
+
} = dataSource || {};
|
|
102
105
|
const metrics = {
|
|
103
106
|
...getPaymentMetrics(),
|
|
104
107
|
// -- type
|
|
105
108
|
meta: meta === 'true',
|
|
109
|
+
required: Object.values(form).filter(function () {
|
|
110
|
+
let field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
111
|
+
return field.required;
|
|
112
|
+
}).length,
|
|
106
113
|
// -- selection
|
|
107
114
|
chain: !!place,
|
|
108
115
|
nights: parseInt(nights),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","style","_helpers2","_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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","finder","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","place","promocode","meta","applyClubDiscount","extras","nights","rooms","metrics","chain","parseInt","split","loyalty","console","log","response","ServiceBooking","confirm","form","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, finder = {}, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n\n const metrics = {\n ...getPaymentMetrics(),\n // -- type\n meta: meta === 'true',\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","style","_helpers2","_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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","finder","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","place","promocode","meta","applyClubDiscount","extras","nights","rooms","form","metrics","required","values","filter","field","undefined","chain","parseInt","split","loyalty","console","log","response","ServiceBooking","confirm","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, finder = {}, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n const { form = {} } = dataSource || {};\n\n const metrics = {\n ...getPaymentMetrics(),\n // -- type\n meta: meta === 'true',\n required: Object.values(form).filter((field = {}) => field.required).length,\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ var _dataSources = require("@mirai/data-sources");
|
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _helpers = require("./helpers");
|
|
13
13
|
var style = _interopRequireWildcard(require("./PriceDetails.module.css"));
|
|
14
14
|
var _Core = require("../../../../../../Core.constants");
|
|
@@ -46,6 +46,16 @@ const PriceDetails = _ref => {
|
|
|
46
46
|
currencyFormat,
|
|
47
47
|
translate
|
|
48
48
|
} = (0, _locale.useLocale)();
|
|
49
|
+
const [timestamp, setTimestamp] = (0, _react.useState)(Date.now());
|
|
50
|
+
(0, _react.useEffect)(() => {
|
|
51
|
+
const callback = () => {
|
|
52
|
+
setTimestamp(Date.now());
|
|
53
|
+
};
|
|
54
|
+
_dataSources.Event.subscribe(_helpers2.EVENT.OTA_PRICES_READY, callback);
|
|
55
|
+
return () => {
|
|
56
|
+
_dataSources.Event.unsubscribe(_helpers2.EVENT.OTA_PRICES_READY, callback);
|
|
57
|
+
};
|
|
58
|
+
}, []);
|
|
49
59
|
const handlePress = () => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
50
60
|
id: "".concat(metrics, ":PRICE_DETAILS")
|
|
51
61
|
});
|
|
@@ -178,6 +188,7 @@ const PriceDetails = _ref => {
|
|
|
178
188
|
currency,
|
|
179
189
|
value: total
|
|
180
190
|
})))),
|
|
191
|
+
timestamp: timestamp,
|
|
181
192
|
onPress: handlePress,
|
|
182
193
|
className: style.tooltip
|
|
183
194
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_helpers","style","_interopRequireWildcard","_Core","_helpers2","_Rates","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","metrics","taxesType","others","value","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","handlePress","Event","publish","EVENT","METRICS","id","concat","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","length","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","toUpperCase","render","index","LABEL_TOTAL","onPress","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice","string"],"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 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 = [], metrics = 'RATES:ITEM', taxesType, ...others }) => {\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const handlePress = () => Event.publish(EVENT.METRICS, { id: `${metrics}:PRICE_DETAILS` });\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 onPress={handlePress}\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 metrics: PropTypes.string,\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","style","_Core","_helpers2","_Rates","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","metrics","taxesType","others","value","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","handlePress","publish","METRICS","id","concat","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","length","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","toUpperCase","render","index","LABEL_TOTAL","onPress","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice","string"],"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 = [], metrics = 'RATES:ITEM', 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 handlePress = () => Event.publish(EVENT.METRICS, { id: `${metrics}:PRICE_DETAILS` });\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 onPress={handlePress}\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 metrics: PropTypes.string,\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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"}
|
|
@@ -4,10 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TooltipDates = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
9
|
var _ui = require("@mirai/ui");
|
|
9
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _TooltipDates = require("./TooltipDates.constants");
|
|
12
13
|
var style = _interopRequireWildcard(require("./TooltipDates.module.css"));
|
|
13
14
|
var _helpers = require("../../../../../helpers");
|
|
@@ -24,6 +25,16 @@ const TooltipDates = _ref => {
|
|
|
24
25
|
const {
|
|
25
26
|
locale
|
|
26
27
|
} = (0, _locale.useLocale)();
|
|
28
|
+
const [timestamp, setTimestamp] = (0, _react.useState)(Date.now());
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
const callback = () => {
|
|
31
|
+
setTimestamp(Date.now());
|
|
32
|
+
};
|
|
33
|
+
_dataSources.Event.subscribe(_helpers.EVENT.OTA_PRICES_READY, callback);
|
|
34
|
+
return () => {
|
|
35
|
+
_dataSources.Event.unsubscribe(_helpers.EVENT.OTA_PRICES_READY, callback);
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
27
38
|
return values.length ? /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
|
|
28
39
|
pressable: true,
|
|
29
40
|
Template: () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, values.map((date, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -39,6 +50,7 @@ const TooltipDates = _ref => {
|
|
|
39
50
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
40
51
|
small: true
|
|
41
52
|
}, captions[index])))),
|
|
53
|
+
timestamp: timestamp,
|
|
42
54
|
className: style.tooltip
|
|
43
55
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, others, {
|
|
44
56
|
paragraph: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipDates.js","names":["
|
|
1
|
+
{"version":3,"file":"TooltipDates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_TooltipDates","style","_helpers","_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","TooltipDates","_ref","captions","values","others","locale","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","createElement","Tooltip","pressable","Template","Fragment","map","date","index","View","row","className","Text","bold","small","dateFormat","DATE_FORMAT","tooltip","Icon","paragraph","value","ICON","INFO","exports","displayName","propTypes","PropTypes","arrayOf","string","any"],"sources":["../../../../../../../src/components/Rates/components/Item/components/TooltipDates/TooltipDates.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { dateFormat, useLocale } from '@mirai/locale';\nimport { Icon, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DATE_FORMAT } from './TooltipDates.constants';\nimport * as style from './TooltipDates.module.css';\nimport { ICON, EVENT } from '../../../../../helpers';\n\nconst TooltipDates = ({ captions = [], values = [], ...others }) => {\n const { locale } = 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 return values.length ? (\n <Tooltip\n pressable\n Template={() => (\n <>\n {values.map((date, index) => (\n <View key={index} row className={style.row}>\n <Text bold small>\n {dateFormat(date, { locale, ...DATE_FORMAT })}\n </Text>\n <Text small>{captions[index]}</Text>\n </View>\n ))}\n </>\n )}\n timestamp={timestamp}\n className={style.tooltip}\n >\n <Icon {...others} paragraph value={ICON.INFO} />\n </Tooltip>\n ) : null;\n};\n\nTooltipDates.displayName = 'Mirai:Core:Rates:Item:TooltipDates';\n\nTooltipDates.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.string),\n values: PropTypes.arrayOf(PropTypes.any),\n};\n\nexport { TooltipDates };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","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","_extends","assign","bind","target","arguments","length","source","key","apply","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","ref","useRef","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","current","top","left","bottom","right","getBoundingClientRect","innerHeight","innerWidth","clientHeight","clientWidth","document","documentElement","visible","Event","publish","EVENT","METRICS","clearTimeout","initialize","subscribe","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n if (otas.length === 1 && ref.current) {\n const { top, left, bottom, right } = ref.current.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n const { clientHeight, clientWidth } = document.documentElement;\n\n const visible =\n top >= 0 && left >= 0 && bottom <= (innerHeight || clientHeight) && right <= (innerWidth || clientWidth);\n\n Event.publish(EVENT.METRICS, { id: 'OTAPRICES:RENDER', visible });\n }\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} ref={ref} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","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","_extends","assign","bind","target","arguments","length","source","key","apply","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","ref","useRef","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","Event","publish","EVENT","OTA_PRICES_READY","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","current","top","left","bottom","right","getBoundingClientRect","innerHeight","innerWidth","clientHeight","clientWidth","document","documentElement","visible","METRICS","clearTimeout","initialize","subscribe","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n !disabled && Event.publish(EVENT.OTA_PRICES_READY);\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n if (otas.length === 1 && ref.current) {\n const { top, left, bottom, right } = ref.current.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n const { clientHeight, clientWidth } = document.documentElement;\n\n const visible =\n top >= 0 && left >= 0 && bottom <= (innerHeight || clientHeight) && right <= (innerWidth || clientWidth);\n\n Event.publish(EVENT.METRICS, { id: 'OTAPRICES:RENDER', visible });\n }\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} ref={ref} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","BOOKING_RESPONSE","BOOKING_CANCEL","CHECKOUT_RESPONSE","CHECKOUT_FORM","EXTERNAL_TWIN","FINDER","FINDER_FIELD_CHANGE","FINDER_READY","FOOTER_HEIGHT_CHANGE","INTENT_CURRENCY","INTENT_LOCALE","LOGGED","LOGIN","METRICS","NOTIFICATION","PAY_LATER","RATES_ADD_TO_CART","RATES_RESPONSE","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","ADYEN","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES","SUBMIT_DELAY"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- @mirai/core\n BOOKING_RESPONSE: 'bookingResponse',\n BOOKING_CANCEL: 'bookingCancel',\n CHECKOUT_RESPONSE: 'checkoutResponse',\n CHECKOUT_FORM: 'checkoutForm',\n EXTERNAL_TWIN: 'externalTwin',\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n FINDER_READY: 'finderReady',\n FOOTER_HEIGHT_CHANGE: 'footerHeightChenge',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n LOGGED: 'logged',\n LOGIN: 'login',\n METRICS: 'metrics',\n NOTIFICATION: 'notification',\n PAY_LATER: 'payLater',\n RATES_ADD_TO_CART: 'ratesAddToCart',\n RATES_RESPONSE: 'ratesResponse',\n RATES_FILTER_CLUB: 'ratesFilterClub',\n RATES_FILTER_PROMOCODE: 'ratesFilterPromocode',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n 'vi-VN',\n];\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n ADYEN: 'ADYEN',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nconst SUBMIT_DELAY = 800;\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n SUBMIT_DELAY,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZ;EACAC,gBAAgB,EAAE,iBAAiB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,iBAAiB,EAAE,kBAAkB;EACrCC,aAAa,EAAE,cAAc;EAC7BC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE,aAAa;EAC3BC,oBAAoB,EAAE,oBAAoB;EAC1CC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,cAAc;EAC5BC,SAAS,EAAE,UAAU;EACrBC,iBAAiB,EAAE,gBAAgB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,iBAAiB,EAAE,iBAAiB;EACpCC,sBAAsB,EAAE,sBAAsB;EAC9C;EACAC,aAAa,EAAEC;AACjB,CAAC;AAED,MAAMC,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","BOOKING_RESPONSE","BOOKING_CANCEL","CHECKOUT_RESPONSE","CHECKOUT_FORM","EXTERNAL_TWIN","FINDER","FINDER_FIELD_CHANGE","FINDER_READY","FOOTER_HEIGHT_CHANGE","INTENT_CURRENCY","INTENT_LOCALE","LOGGED","LOGIN","METRICS","NOTIFICATION","OTA_PRICES_READY","PAY_LATER","RATES_ADD_TO_CART","RATES_RESPONSE","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","ADYEN","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES","SUBMIT_DELAY"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- @mirai/core\n BOOKING_RESPONSE: 'bookingResponse',\n BOOKING_CANCEL: 'bookingCancel',\n CHECKOUT_RESPONSE: 'checkoutResponse',\n CHECKOUT_FORM: 'checkoutForm',\n EXTERNAL_TWIN: 'externalTwin',\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n FINDER_READY: 'finderReady',\n FOOTER_HEIGHT_CHANGE: 'footerHeightChenge',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n LOGGED: 'logged',\n LOGIN: 'login',\n METRICS: 'metrics',\n NOTIFICATION: 'notification',\n OTA_PRICES_READY: 'otaPricesReady',\n PAY_LATER: 'payLater',\n RATES_ADD_TO_CART: 'ratesAddToCart',\n RATES_RESPONSE: 'ratesResponse',\n RATES_FILTER_CLUB: 'ratesFilterClub',\n RATES_FILTER_PROMOCODE: 'ratesFilterPromocode',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n 'vi-VN',\n];\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n ADYEN: 'ADYEN',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nconst SUBMIT_DELAY = 800;\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n SUBMIT_DELAY,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZ;EACAC,gBAAgB,EAAE,iBAAiB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,iBAAiB,EAAE,kBAAkB;EACrCC,aAAa,EAAE,cAAc;EAC7BC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE,aAAa;EAC3BC,oBAAoB,EAAE,oBAAoB;EAC1CC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,cAAc;EAC5BC,gBAAgB,EAAE,gBAAgB;EAClCC,SAAS,EAAE,UAAU;EACrBC,iBAAiB,EAAE,gBAAgB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,iBAAiB,EAAE,iBAAiB;EACpCC,sBAAsB,EAAE,sBAAsB;EAC9C;EACAC,aAAa,EAAEC;AACjB,CAAC;AAED,MAAMC,OAAO,GAAA/B,OAAA,CAAA+B,OAAA,GAAG,CACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACR;AAED,MAAMC,gBAAgB,GAAAhC,OAAA,CAAAgC,gBAAA,GAAG,EAAE;AAE3B,MAAMC,eAAe,GAAAjC,OAAA,CAAAiC,eAAA,GAAG;EACtBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAAtC,OAAA,CAAAsC,YAAA,GAAG;EACnBC,gBAAgB,EAAE,kBAAkB;EACpCC,WAAW,EAAE,aAAa;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAAE;EACpBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,cAAc,GAAA/C,OAAA,CAAA+C,cAAA,GAAG;EACrBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,gBAAgB,GAAAhE,OAAA,CAAAgE,gBAAA,GAAG;EACvBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,UAAU,EAAE,YAAY;EACxBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,IAAI,GAAA9E,OAAA,CAAA8E,IAAA,GAAG;EACXC,oBAAoB,EAAE,cAAc;EACpCC,oBAAoB,EAAE,cAAc;EACpCZ,QAAQ,EAAE,YAAY;EACtBvD,MAAM,EAAE,iBAAiB;EACzBoE,MAAM,EAAE,aAAa;EACrBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,YAAY,GAAAnF,OAAA,CAAAmF,YAAA,GAAG,GAAG"}
|