@mirai/core 0.3.329 → 0.3.331
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/Booking/Booking.constants.js +1 -2
- package/build/components/Booking/Booking.constants.js.map +1 -1
- package/build/components/Booking/Booking.js +4 -3
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.module.css +1 -18
- package/build/components/Booking/partials/Booking.Menu.js +8 -1
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Booking/partials/index.js +3 -14
- package/build/components/Booking/partials/index.js.map +1 -1
- package/build/components/Checkout/Checkout.constants.js +1 -2
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.js +4 -3
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +0 -49
- package/build/components/Checkout/partials/Checkout.Confirmation.js +9 -5
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/index.js +1 -12
- package/build/components/Checkout/partials/index.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +9 -0
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +3 -2
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.module.css +0 -1
- package/build/components/Rates/components/Filters/components/InputRange/InputRange.js +6 -6
- package/build/components/Rates/components/Filters/components/InputRange/InputRange.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.constants.js +10 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.constants.js.map +1 -0
- package/build/components/{Checkout/partials/Checkout.Details.js → __shared__/BookingDetails/BookingDetails.js} +36 -38
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.l10n.js +27 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.l10n.js.map +1 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.module.css +60 -0
- package/build/components/{Booking/partials/__tests__/__snapshots__/Booking.Details.test.js.snap → __shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap} +862 -403
- package/build/components/__shared__/BookingDetails/index.js +17 -0
- package/build/components/__shared__/BookingDetails/index.js.map +1 -0
- package/build/components/__shared__/BookingDetails/mocks/booking.json +176 -0
- package/build/components/__shared__/BookingDetails/mocks/checkout.json +518 -0
- package/build/components/__shared__/BookingTable/BookingTable.Row.js +9 -5
- package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.js +18 -3
- package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.l10n.js +5 -2
- package/build/components/__shared__/BookingTable/BookingTable.l10n.js.map +1 -1
- package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +56 -0
- package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +126 -0
- package/build/components/__shared__/Footer/Footer.js +17 -2
- package/build/components/__shared__/Footer/Footer.js.map +1 -1
- package/build/components/__shared__/Footer/Footer.module.css +5 -8
- package/build/components/__shared__/index.js +11 -0
- package/build/components/__shared__/index.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
- package/build/components/Booking/partials/Booking.Details.js +0 -154
- package/build/components/Booking/partials/Booking.Details.js.map +0 -1
- package/build/components/Checkout/partials/Checkout.Details.js.map +0 -1
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Details.test.js.snap +0 -1312
|
@@ -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","_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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","busy","setBusy","useState","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","price","prepayment","currency","method","handleError","handlePress","handleSubmit","concat","TRACKING","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","_row","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\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, value } = prepayment[payment?.method] || {};\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 = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale });\n\n setResponseError();\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 hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale });\n });\n\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale });\n\n return response;\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 >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, 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 {...others} _row={isMobile} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: 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","_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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","handleSubmit","concat","TRACKING","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } 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, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, 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 hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n\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, value } = prepayment[payment?.method] || {};\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 = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale });\n\n setResponseError();\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 hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale });\n });\n\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale });\n\n return response;\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 >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, 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 dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ Object.keys(_Checkout).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var _Checkout2 = require("./Checkout.
|
|
17
|
+
var _Checkout2 = require("./Checkout.Form");
|
|
18
18
|
Object.keys(_Checkout2).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
20
|
if (key in exports && exports[key] === _Checkout2[key]) return;
|
|
@@ -25,15 +25,4 @@ Object.keys(_Checkout2).forEach(function (key) {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
-
var _Checkout3 = require("./Checkout.Form");
|
|
29
|
-
Object.keys(_Checkout3).forEach(function (key) {
|
|
30
|
-
if (key === "default" || key === "__esModule") return;
|
|
31
|
-
if (key in exports && exports[key] === _Checkout3[key]) return;
|
|
32
|
-
Object.defineProperty(exports, key, {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () {
|
|
35
|
-
return _Checkout3[key];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Checkout","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Checkout2"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Checkout","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Checkout2"],"sources":["../../../../src/components/Checkout/partials/index.js"],"sourcesContent":["export * from './Checkout.Confirmation';\nexport * from './Checkout.Form';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -41,12 +41,20 @@ const Footer = _ref => {
|
|
|
41
41
|
currency
|
|
42
42
|
} = {}
|
|
43
43
|
} = (0, _dataSources.useStore)();
|
|
44
|
+
const refContainer = (0, _react.useRef)();
|
|
44
45
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
45
46
|
(0, _react.useEffect)(() => {
|
|
46
47
|
const items = cart.filter(item => item !== undefined);
|
|
47
48
|
_dataSources.Event.publish(_helpers2.EVENT.MODAL_VISIBLE, {
|
|
48
49
|
visible: items.length > 0
|
|
49
50
|
});
|
|
51
|
+
const content = refContainer === null || refContainer === void 0 ? void 0 : refContainer.current;
|
|
52
|
+
if (!content || typeof ResizeObserver === 'undefined') return;
|
|
53
|
+
const observer = new ResizeObserver(() => _dataSources.Event.publish(_helpers2.EVENT.FOOTER_HEIGHT_CHANGE, {
|
|
54
|
+
height: items.length ? content.offsetHeight : undefined
|
|
55
|
+
}));
|
|
56
|
+
observer.observe(content);
|
|
57
|
+
return () => observer.unobserve(content);
|
|
50
58
|
}, [cart]);
|
|
51
59
|
(0, _react.useEffect)(() => !extras && setBusy(false), [extras]);
|
|
52
60
|
(0, _react.useEffect)(() => !login && setBusy(false), [login]);
|
|
@@ -63,6 +71,7 @@ const Footer = _ref => {
|
|
|
63
71
|
onSubmit();
|
|
64
72
|
};
|
|
65
73
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
74
|
+
ref: refContainer,
|
|
66
75
|
className: (0, _ui.styles)(style.footer, items.length && style.visible)
|
|
67
76
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
68
77
|
className: style.wrapper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","content","current","ResizeObserver","observer","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","unobserve","totalPrice","reduce","price","valid","handleSubmit","createElement","View","ref","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n\n const content = refContainer?.current;\n if (!content || typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() =>\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: items.length ? content.offsetHeight : undefined }),\n );\n observer.observe(content);\n\n return () => observer.unobserve(content);\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View ref={refContainer} className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAAyC,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEzC,MAAMK,MAAM,GAAGC,IAAA,IAQT;EAAA,IARU;IACdC,IAAI,GAAG,EAAE;IACTC,UAAU,EAAE;MAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC9BC,MAAM;IACNC,KAAK;IACLC,SAAS;IACTC,UAAU,GAAG,EAAE;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAC/C,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAC,CAAC;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGtB,IAAI,CAACuB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;IAEvDC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;MAAEC,OAAO,EAAER,KAAK,CAAC5B,MAAM,GAAG;IAAE,CAAC,CAAC;IAEjE,MAAMqC,OAAO,GAAGf,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,OAAO;IACrC,IAAI,CAACD,OAAO,IAAI,OAAOE,cAAc,KAAK,WAAW,EAAE;IAEvD,MAAMC,QAAQ,GAAG,IAAID,cAAc,CAAC,MAClCP,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACO,oBAAoB,EAAE;MAAEC,MAAM,EAAEd,KAAK,CAAC5B,MAAM,GAAGqC,OAAO,CAACM,YAAY,GAAGZ;IAAU,CAAC,CACvG,CAAC;IACDS,QAAQ,CAACI,OAAO,CAACP,OAAO,CAAC;IAEzB,OAAO,MAAMG,QAAQ,CAACK,SAAS,CAACR,OAAO,CAAC;EAC1C,CAAC,EAAE,CAAC/B,IAAI,CAAC,CAAC;EAEV,IAAAqB,gBAAS,EAAC,MAAM,CAAClB,MAAM,IAAIgB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAChB,MAAM,CAAC,CAAC;EAEpD,IAAAkB,gBAAS,EAAC,MAAM,CAACjB,KAAK,IAAIe,OAAO,CAAC,KAAK,CAAC,EAAE,CAACf,KAAK,CAAC,CAAC;EAElD,MAAMkB,KAAK,GAAGtB,IAAI,CAACuB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EACvD,MAAMe,UAAU,GAAGxC,IAAI,CAACyC,MAAM,CAAC,UAAC5B,KAAK;IAAA,IAAE;MAAE6B,KAAK,GAAG;IAAE,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKoB,KAAK,GAAG6B,KAAK;EAAA,GAAE,CAAC,CAAC;EAC/E,MAAMC,KAAK,GAAGrB,KAAK,CAAC5B,MAAM,KAAKY,UAAU,CAACZ,MAAM;EAEhD,MAAMkD,YAAY,GAAGA,CAAA,KAAM;IACzBzB,OAAO,CAAC,IAAI,CAAC;IACbZ,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,oBACE9C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACC,GAAG,EAAE/B,YAAa;IAACgC,SAAS,EAAE,IAAAC,UAAM,EAACpF,KAAK,CAACqF,MAAM,EAAE5B,KAAK,CAAC5B,MAAM,IAAI7B,KAAK,CAACiE,OAAO;EAAE,gBACtFrE,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI,qBACHrF,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACE,SAAS,EAAEnF,KAAK,CAACsF,OAAQ;IAACC,IAAI;EAAA,GACjC9B,KAAK,CAAC+B,GAAG,CAAC,YAAsE;IAAA,IAArE;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,IAAI,EAAEC,SAAS;MAAEf,KAAK;MAAEgB;IAAS,CAAC,GAAAjE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEkE,KAAK,GAAAlE,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAgC,SAAA;IAC1E,MAAMmC,MAAM,GAAGtD,UAAU,CAACqD,KAAK,CAAC,CAAClB,MAAM,CAAC,UAACoB,KAAK;MAAA,IAAE;QAAEP;MAAO,CAAC,GAAA7D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKoE,KAAK,GAAGP,MAAM;IAAA,GAAE,CAAC,CAAC;IAEtF,oBACE7F,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACgB,GAAG;MAAClE,GAAG,KAAAmE,MAAA,CAAKR,EAAE,EAAAQ,MAAA,CAAGJ,KAAK,CAAG;MAACX,SAAS,EAAEnF,KAAK,CAACmG;IAAS,GACvD3D,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACgB,GAAG;MAACd,SAAS,EAAEnF,KAAK,CAACoG;IAAK,gBAC9BxG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAA4G,IAAI;MAACrD,KAAK,EAAE+C,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACC,MAAM,GAAGR,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACE,KAAK,GAAGF,cAAI,CAACG;IAAO,CAAE,CAAC,eACrF7G,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACC,KAAK;IAAA,GAAEZ,MAAa,CACtB,CACP,eAEDnG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACE,SAAS,EAAEnF,KAAK,CAAC4G;IAAY,gBACjChH,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACG,IAAI;MAACC,MAAM,EAAE,CAACnE,QAAS;MAACgE,KAAK,EAAEhE,QAAS;MAACwC,SAAS,EAAEnF,KAAK,CAAC4G;IAAY,MAAAV,MAAA,CACtEL,QAAQ,QACXrD,SAAS,iBAAI5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,SAAAT,MAAA,CAAQN,SAAS,CAAS,CACrD,CAAC,EACN,CAACpD,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,GACdf,SACG,CAEJ,CAAC,eAEPhG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI,EAAAlF,QAAA;MAACqF,IAAI;IAAA,GAAMrE,SAAS,GAAG;MAAEsE,MAAM,EAAE,CAACnE,QAAQ;MAAEgE,KAAK,EAAEhE;IAAS,CAAC,GAAG;MAAEmE,MAAM,EAAEnE;IAAS,CAAC,GACtFE,cAAc,CAAC;MAAEI,QAAQ;MAAE+D,qBAAqB,EAAE,CAAC;MAAEhE,KAAK,EAAEyC,MAAM,GAAGZ;IAAM,CAAC,CACzE,CAAC,EAEN,CAACrC,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwH,MAAM;MAACN,KAAK;MAACtD,IAAI,EAAEA,IAAK;MAAC6D,QAAQ,EAAE,CAACpC,KAAM;MAACqC,KAAK,EAAE,CAACxE,QAAS;MAACyE,OAAO,EAAErC;IAAa,GACjFjC,SAAS,CAACuE,WAAI,CAACC,cAAc,CACxB,CAEN,CAAC;EAEX,CAAC,CACG,CACF,CAAC,EAEN9E,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACgB,GAAG;IAACd,SAAS,EAAE,CAACnF,KAAK,CAACsF,OAAO,EAAEtF,KAAK,CAACuH,OAAO;EAAE,gBAClD3H,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACE,SAAS,EAAEnF,KAAK,CAAC2E;EAAW,gBAChC/E,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;IAACG,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAE9E,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAEI,QAAQ;IAAE+D,qBAAqB,EAAE,CAAC;IAAEhE,KAAK,EAAE2B;EAAW,CAAC,CACrE,CAAC,EAEN,CAAC,CAACtC,SAAS,iBACVzC,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;IAACK,KAAK;IAACJ,KAAK,EAAE,CAAChE,QAAS;IAAC+E,IAAI,EAAE/E;EAAS,GAC1CG,SAAS,CAAC,IAAA6E,sBAAa,EAACtF,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPzC,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwH,MAAM;IAAC5D,IAAI,EAAEA,IAAK;IAAC6D,QAAQ,EAAE,CAACpC,KAAM;IAACqC,KAAK,EAAE,CAACxE,QAAS;IAACyE,OAAO,EAAErC;EAAa,GAC3EjC,SAAS,CAACuE,WAAI,CAACC,cAAc,CACxB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACM,OAAA,CAAA3F,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC4F,WAAW,GAAG,yBAAyB;AAE9C5F,MAAM,CAAC6F,SAAS,GAAG;EACjB3F,IAAI,EAAE4F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5C7F,UAAU,EAAE2F,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B3F,MAAM,EAAEyF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C1F,KAAK,EAAEwF,kBAAS,CAACG,IAAI;EACrB1F,SAAS,EAAEuF,kBAAS,CAACG,IAAI;EACzBzF,UAAU,EAAEsF,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdE,IAAI,EAAEJ,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACK,MAAM,CAAC;IACzC3C,MAAM,EAAEsC,kBAAS,CAACK,MAAM;IACxBC,IAAI,EAAEN,kBAAS,CAACK;EAClB,CAAC,CACH,CACF,CAAC;EACD1F,QAAQ,EAAEqF,kBAAS,CAACO;AACtB,CAAC"}
|
|
@@ -51,13 +51,14 @@ const RoomSelector = _ref => {
|
|
|
51
51
|
}, [roomIndex]);
|
|
52
52
|
const {
|
|
53
53
|
place: {
|
|
54
|
-
id: [id] = []
|
|
54
|
+
id: [id] = [],
|
|
55
|
+
isHotel = true
|
|
55
56
|
} = {}
|
|
56
57
|
} = finder;
|
|
57
58
|
const {
|
|
58
59
|
accommodationType = hotelAccommodationType
|
|
59
60
|
} = variants[id] || {};
|
|
60
|
-
return occupation.length >= 2 ? /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
61
|
+
return isHotel && occupation.length >= 2 ? /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
61
62
|
horizontal: true,
|
|
62
63
|
scrollTo: scrollTo,
|
|
63
64
|
snap: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","place","id","createElement","ScrollView","horizontal","snap","className","roomSelector","map","items","undefined","index","guests","reduce","total","amount","textProps","action","small","hasCart","View","ref","el","Pressable","disabled","tag","active","highlight","Text","L10N","LABEL_SELECT","capitalize","concat","LABEL_ACCOMMODATION_TYPE","type","headline","separator","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return occupation.length >= 2 ? (\n <ScrollView horizontal scrollTo={scrollTo} snap={false} className={style.roomSelector}>\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const textProps = { action: !isMobile, small: isMobile };\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Pressable\n disabled={!hasCart}\n onPress={() => onPress(index)}\n className={[style.tag, index === roomIndex ? style.active : hasCart ? style.highlight : style.disabled]}\n >\n {index === roomIndex && !cart[index] && <Text {...textProps}>{translate(L10N.LABEL_SELECT)}</Text>}\n <Text {...textProps} capitalize>{`${translate(L10N.LABEL_ACCOMMODATION_TYPE, {\n type: accommodationType,\n })} ${index + 1}`}</Text>\n\n <Text headline className={style.separator}>\n |\n </Text>\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text {...textProps}>{guests}</Text>\n </Pressable>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","place","id","isHotel","createElement","ScrollView","horizontal","snap","className","roomSelector","map","items","undefined","index","guests","reduce","total","amount","textProps","action","small","hasCart","View","ref","el","Pressable","disabled","tag","active","highlight","Text","L10N","LABEL_SELECT","capitalize","concat","LABEL_ACCOMMODATION_TYPE","type","headline","separator","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView horizontal scrollTo={scrollTo} snap={false} className={style.roomSelector}>\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const textProps = { action: !isMobile, small: isMobile };\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Pressable\n disabled={!hasCart}\n onPress={() => onPress(index)}\n className={[style.tag, index === roomIndex ? style.active : hasCart ? style.highlight : style.disabled]}\n >\n {index === roomIndex && !cart[index] && <Text {...textProps}>{translate(L10N.LABEL_SELECT)}</Text>}\n <Text {...textProps} capitalize>{`${translate(L10N.LABEL_ACCOMMODATION_TYPE, {\n type: accommodationType,\n })} ${index + 1}`}</Text>\n\n <Text headline className={style.separator}>\n |\n </Text>\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text {...textProps}>{guests}</Text>\n </Pressable>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
|
|
@@ -40,9 +40,11 @@ const InputRange = _ref => {
|
|
|
40
40
|
for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
41
41
|
params[_key] = arguments[_key];
|
|
42
42
|
}
|
|
43
|
-
let [field, value] = params;
|
|
43
|
+
let [field, value, forceField = false] = params;
|
|
44
44
|
value = parseInt(value);
|
|
45
|
-
if (
|
|
45
|
+
if (!forceField) {
|
|
46
|
+
if (field === 'min' && value >= form.max) field = 'max';else if (field === 'max' && value <= form.min) field = 'min';
|
|
47
|
+
}
|
|
46
48
|
onChange({
|
|
47
49
|
...form,
|
|
48
50
|
[field]: value
|
|
@@ -62,8 +64,6 @@ const InputRange = _ref => {
|
|
|
62
64
|
};
|
|
63
65
|
const numberProps = {
|
|
64
66
|
caption: unit,
|
|
65
|
-
max,
|
|
66
|
-
min,
|
|
67
67
|
type: 'number',
|
|
68
68
|
className: style.input
|
|
69
69
|
};
|
|
@@ -107,12 +107,12 @@ const InputRange = _ref => {
|
|
|
107
107
|
label: translate(_InputRange.L10N.LABEL_MIN),
|
|
108
108
|
name: "input:min",
|
|
109
109
|
value: form.min || histogram.min,
|
|
110
|
-
onChange: value => handleInput('min', value)
|
|
110
|
+
onChange: value => handleInput('min', value, true)
|
|
111
111
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, null, "-"), /*#__PURE__*/_react.default.createElement(_ui.InputText, _extends({}, numberProps, {
|
|
112
112
|
label: translate(_InputRange.L10N.LABEL_MAX),
|
|
113
113
|
name: "input:max",
|
|
114
114
|
value: form.max || histogram.max,
|
|
115
|
-
onChange: value => handleInput('max', value)
|
|
115
|
+
onChange: value => handleInput('max', value, true)
|
|
116
116
|
})))) : null;
|
|
117
117
|
};
|
|
118
118
|
exports.InputRange = InputRange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputRange.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_InputRange","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","InputRange","_ref","caption","dataSource","resolution","title","unit","value","form","onChange","others","isMobile","useDevice","translate","useLocale","histogram","setHistogram","useState","useEffect","getHistogram","handleInput","_len","params","Array","_key","field","parseInt","max","min","bins","rangeProps","step","type","className","input","numberProps","createElement","View","Text","bold","headline","wide","action","small","light","row","chart","map","_ref2","index","range","count","concat","styles","disabled","height","maxBinCount","Input","name","inputNumbers","InputText","label","L10N","LABEL_MIN","LABEL_MAX","exports","displayName","propTypes","PropTypes","string","arrayOf","number","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Filters/components/InputRange/InputRange.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Input, InputText, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getHistogram } from './helpers';\nimport { L10N } from './InputRange.l10n';\nimport * as style from './InputRange.module.css';\n\nconst InputRange = ({\n caption,\n dataSource,\n resolution,\n title,\n unit,\n value: form = {},\n onChange = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [histogram, setHistogram] = useState({});\n\n useEffect(() => {\n setHistogram(getHistogram(dataSource, resolution));\n }, [dataSource, resolution]);\n\n const handleInput = (...params) => {\n let [field, value] = params;\n\n value = parseInt(value);\n if (field === 'min' && value >= form.max) field = 'max';\n else if (field === 'max' && value <= form.min) field = 'min';\n\n onChange({ ...form, [field]: value });\n };\n\n const { max, min, bins = [] } = histogram;\n const rangeProps = { max, min, step: 1, type: 'range', className: style.input };\n const numberProps = { caption: unit, max, min, type: 'number', className: style.input };\n\n return bins.length > 0 ? (\n <View {...others}>\n <View>\n <Text bold headline wide>\n {title}\n </Text>\n {caption && (\n <Text action={!isMobile} small={isMobile} light>\n {caption}\n </Text>\n )}\n </View>\n\n <View>\n <View row className={style.chart}>\n {bins.map(({ range: [min, max] = [], count = 0 }, index) => (\n <View\n key={`col:${index}`}\n className={styles(style.value, (min < form.min - 1 || max > form.max + 1) && style.disabled)}\n style={{ height: `${(count / histogram.maxBinCount) * 100}%` }}\n />\n ))}\n </View>\n\n <View className={style.range}>\n <Input\n {...rangeProps}\n name=\"range:min\"\n value={form.min || histogram.min}\n onChange={(value) => handleInput('min', value)}\n />\n <Input\n {...rangeProps}\n name=\"range:max\"\n value={form.max || histogram.max}\n onChange={(value) => handleInput('max', value)}\n />\n </View>\n </View>\n\n <View row className={style.inputNumbers}>\n <InputText\n {...numberProps}\n label={translate(L10N.LABEL_MIN)}\n name=\"input:min\"\n value={form.min || histogram.min}\n onChange={(value) => handleInput('min', value)}\n />\n <Text>-</Text>\n <InputText\n {...numberProps}\n label={translate(L10N.LABEL_MAX)}\n name=\"input:max\"\n value={form.max || histogram.max}\n onChange={(value) => handleInput('max', value)}\n />\n </View>\n </View>\n ) : null;\n};\n\nInputRange.displayName = 'Mirai:Core:Rates:Filters:InputRange';\n\nInputRange.propTypes = {\n caption: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.number),\n resolution: PropTypes.number,\n title: PropTypes.string,\n unit: PropTypes.string,\n value: PropTypes.shape({\n max: PropTypes.number,\n min: PropTypes.number,\n }),\n onChange: PropTypes.func,\n};\n\nexport { InputRange };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputRange.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_InputRange","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","InputRange","_ref","caption","dataSource","resolution","title","unit","value","form","onChange","others","isMobile","useDevice","translate","useLocale","histogram","setHistogram","useState","useEffect","getHistogram","handleInput","_len","params","Array","_key","field","forceField","parseInt","max","min","bins","rangeProps","step","type","className","input","numberProps","createElement","View","Text","bold","headline","wide","action","small","light","row","chart","map","_ref2","index","range","count","concat","styles","disabled","height","maxBinCount","Input","name","inputNumbers","InputText","label","L10N","LABEL_MIN","LABEL_MAX","exports","displayName","propTypes","PropTypes","string","arrayOf","number","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Filters/components/InputRange/InputRange.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Input, InputText, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getHistogram } from './helpers';\nimport { L10N } from './InputRange.l10n';\nimport * as style from './InputRange.module.css';\n\nconst InputRange = ({\n caption,\n dataSource,\n resolution,\n title,\n unit,\n value: form = {},\n onChange = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [histogram, setHistogram] = useState({});\n\n useEffect(() => {\n setHistogram(getHistogram(dataSource, resolution));\n }, [dataSource, resolution]);\n\n const handleInput = (...params) => {\n let [field, value, forceField = false] = params;\n\n value = parseInt(value);\n if (!forceField) {\n if (field === 'min' && value >= form.max) field = 'max';\n else if (field === 'max' && value <= form.min) field = 'min';\n }\n\n onChange({ ...form, [field]: value });\n };\n\n const { max, min, bins = [] } = histogram;\n const rangeProps = { max, min, step: 1, type: 'range', className: style.input };\n const numberProps = { caption: unit, type: 'number', className: style.input };\n\n return bins.length > 0 ? (\n <View {...others}>\n <View>\n <Text bold headline wide>\n {title}\n </Text>\n {caption && (\n <Text action={!isMobile} small={isMobile} light>\n {caption}\n </Text>\n )}\n </View>\n\n <View>\n <View row className={style.chart}>\n {bins.map(({ range: [min, max] = [], count = 0 }, index) => (\n <View\n key={`col:${index}`}\n className={styles(style.value, (min < form.min - 1 || max > form.max + 1) && style.disabled)}\n style={{ height: `${(count / histogram.maxBinCount) * 100}%` }}\n />\n ))}\n </View>\n\n <View className={style.range}>\n <Input\n {...rangeProps}\n name=\"range:min\"\n value={form.min || histogram.min}\n onChange={(value) => handleInput('min', value)}\n />\n <Input\n {...rangeProps}\n name=\"range:max\"\n value={form.max || histogram.max}\n onChange={(value) => handleInput('max', value)}\n />\n </View>\n </View>\n\n <View row className={style.inputNumbers}>\n <InputText\n {...numberProps}\n label={translate(L10N.LABEL_MIN)}\n name=\"input:min\"\n value={form.min || histogram.min}\n onChange={(value) => handleInput('min', value, true)}\n />\n <Text>-</Text>\n <InputText\n {...numberProps}\n label={translate(L10N.LABEL_MAX)}\n name=\"input:max\"\n value={form.max || histogram.max}\n onChange={(value) => handleInput('max', value, true)}\n />\n </View>\n </View>\n ) : null;\n};\n\nInputRange.displayName = 'Mirai:Core:Rates:Filters:InputRange';\n\nInputRange.propTypes = {\n caption: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.number),\n resolution: PropTypes.number,\n title: PropTypes.string,\n unit: PropTypes.string,\n value: PropTypes.shape({\n max: PropTypes.number,\n min: PropTypes.number,\n }),\n onChange: PropTypes.func,\n};\n\nexport { InputRange };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TRACKING = exports.MAX_VISIBLE_DETAILS = exports.FEATURE_CHECKOUT_TRACKING = void 0;
|
|
7
|
+
const FEATURE_CHECKOUT_TRACKING = exports.FEATURE_CHECKOUT_TRACKING = 'checkoutTracking';
|
|
8
|
+
const MAX_VISIBLE_DETAILS = exports.MAX_VISIBLE_DETAILS = 3;
|
|
9
|
+
const TRACKING = exports.TRACKING = 'CHECKOUT';
|
|
10
|
+
//# sourceMappingURL=BookingDetails.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BookingDetails.constants.js","names":["FEATURE_CHECKOUT_TRACKING","exports","MAX_VISIBLE_DETAILS","TRACKING"],"sources":["../../../../src/components/__shared__/BookingDetails/BookingDetails.constants.js"],"sourcesContent":["const FEATURE_CHECKOUT_TRACKING = 'checkoutTracking';\n\nconst MAX_VISIBLE_DETAILS = 3;\n\nconst TRACKING = 'CHECKOUT';\n\nexport { FEATURE_CHECKOUT_TRACKING, MAX_VISIBLE_DETAILS, TRACKING };\n"],"mappings":";;;;;;AAAA,MAAMA,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,kBAAkB;AAEpD,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,CAAC;AAE7B,MAAMC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,GAAG,UAAU"}
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.BookingDetails = 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"));
|
|
13
|
-
var
|
|
12
|
+
var _BookingDetails = require("./BookingDetails.constants");
|
|
13
|
+
var _BookingDetails2 = require("./BookingDetails.l10n");
|
|
14
|
+
var style = _interopRequireWildcard(require("./BookingDetails.module.css"));
|
|
15
|
+
var _ = require("..");
|
|
14
16
|
var _helpers = require("../../helpers");
|
|
15
|
-
var _Checkout = require("../Checkout.constants");
|
|
16
|
-
var _Checkout2 = require("../Checkout.l10n");
|
|
17
|
-
var style = _interopRequireWildcard(require("../Checkout.module.css"));
|
|
18
17
|
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); }
|
|
19
18
|
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; }
|
|
20
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
20
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
22
|
-
|
|
23
|
-
const Details = _ref => {
|
|
21
|
+
const BookingDetails = _ref => {
|
|
24
22
|
let {
|
|
25
23
|
dataSource = {},
|
|
24
|
+
expanded: propExpanded = false,
|
|
26
25
|
...others
|
|
27
26
|
} = _ref;
|
|
28
27
|
const {
|
|
@@ -32,9 +31,6 @@ const Details = _ref => {
|
|
|
32
31
|
const {
|
|
33
32
|
translate
|
|
34
33
|
} = (0, _locale.useLocale)();
|
|
35
|
-
const {
|
|
36
|
-
track
|
|
37
|
-
} = (0, _dataSources.useMetrics)();
|
|
38
34
|
const {
|
|
39
35
|
value: {
|
|
40
36
|
config: {
|
|
@@ -46,30 +42,27 @@ const Details = _ref => {
|
|
|
46
42
|
hotel: {
|
|
47
43
|
id: hotelId
|
|
48
44
|
} = {},
|
|
49
|
-
id,
|
|
50
|
-
locale,
|
|
51
45
|
urlParams: {
|
|
52
46
|
roomNumberBySelectedRoom
|
|
53
47
|
} = {}
|
|
54
48
|
}
|
|
55
49
|
} = (0, _dataSources.useStore)();
|
|
56
|
-
const [expanded, setExpanded] = (0, _react.useState)(
|
|
50
|
+
const [expanded, setExpanded] = (0, _react.useState)(propExpanded);
|
|
57
51
|
(0, _react.useEffect)(() => {
|
|
58
|
-
hasTracking = _services.ServiceFeatures.get(_Checkout.FEATURE_CHECKOUT_TRACKING, id);
|
|
59
52
|
const {
|
|
60
53
|
details: [{
|
|
61
54
|
items = []
|
|
62
55
|
} = {}] = [],
|
|
63
56
|
extras = []
|
|
64
57
|
} = dataSource;
|
|
65
|
-
setExpanded(!isDesktop || items.length <=
|
|
58
|
+
setExpanded(!isDesktop || items.length <= _BookingDetails.MAX_VISIBLE_DETAILS && extras.length === 0);
|
|
66
59
|
|
|
67
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
68
61
|
}, []);
|
|
62
|
+
(0, _react.useEffect)(() => {
|
|
63
|
+
setExpanded(propExpanded);
|
|
64
|
+
}, [propExpanded]);
|
|
69
65
|
const handlePress = () => {
|
|
70
|
-
hasTracking && track("".concat(_Checkout.TRACKING, ":ACTION:DETAILS_EXPAND"), {
|
|
71
|
-
locale
|
|
72
|
-
});
|
|
73
66
|
setExpanded(true);
|
|
74
67
|
};
|
|
75
68
|
const {
|
|
@@ -78,16 +71,16 @@ const Details = _ref => {
|
|
|
78
71
|
extras = []
|
|
79
72
|
} = dataSource;
|
|
80
73
|
const propsTable = {
|
|
81
|
-
currency
|
|
82
|
-
tracking: _Checkout.TRACKING
|
|
74
|
+
currency
|
|
83
75
|
};
|
|
84
76
|
const roomNumber = (0, _helpers.getRoomNumber)(roomNumberBySelectedRoom);
|
|
77
|
+
const multiRoom = details.length > 1;
|
|
85
78
|
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
86
|
-
className: (0, _ui.styles)(style.details,
|
|
79
|
+
className: (0, _ui.styles)(style.details, others.className)
|
|
87
80
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
88
81
|
bold: true,
|
|
89
82
|
headline: isDesktop
|
|
90
|
-
}, translate(
|
|
83
|
+
}, translate(_BookingDetails2.L10N.LABEL_BOOKING_DETAILS)), details.slice(0, expanded ? undefined : 1).map(function () {
|
|
91
84
|
var _variants$find;
|
|
92
85
|
let {
|
|
93
86
|
amount,
|
|
@@ -121,11 +114,11 @@ const Details = _ref => {
|
|
|
121
114
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
122
115
|
action: isMobile,
|
|
123
116
|
bold: true
|
|
124
|
-
}, "".concat(type).concat(roomNumber ? " (".concat(translate(
|
|
117
|
+
}, "".concat(type).concat(roomNumber ? " (".concat(translate(_BookingDetails2.L10N.LABEL_ROOM_NUMBER, {
|
|
125
118
|
roomNumber
|
|
126
119
|
}), ")") : '', " ").concat(amount > 1 ? " (x".concat(amount, ")") : '')), roomNumber && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
|
|
127
120
|
pressable: true,
|
|
128
|
-
text: translate(
|
|
121
|
+
text: translate(_BookingDetails2.L10N.LABEL_SUBJECT_TO_AVAILABILITY)
|
|
129
122
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
130
123
|
value: _ui.ICON.INFO
|
|
131
124
|
}))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -144,28 +137,33 @@ const Details = _ref => {
|
|
|
144
137
|
return id === Number(hotelId);
|
|
145
138
|
})) === null || _variants$find === void 0 ? void 0 : _variants$find.occupation) || occupation,
|
|
146
139
|
translate
|
|
147
|
-
})))), /*#__PURE__*/_react.default.createElement(
|
|
148
|
-
dataSource: items.slice(0, expanded ? undefined :
|
|
149
|
-
|
|
140
|
+
})))), /*#__PURE__*/_react.default.createElement(_.BookingTable, _extends({}, propsTable, {
|
|
141
|
+
dataSource: items.slice(0, expanded ? undefined : _BookingDetails.MAX_VISIBLE_DETAILS),
|
|
142
|
+
showTotal: multiRoom
|
|
143
|
+
})), expanded && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.BookingTable, _extends({}, propsTable, {
|
|
150
144
|
dataSource: extras,
|
|
151
|
-
label: translate(
|
|
152
|
-
})), observations.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View,
|
|
145
|
+
label: translate(_BookingDetails2.L10N.LABEL_EXTRAS)
|
|
146
|
+
})), observations.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
147
|
+
className: style.observations
|
|
148
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
153
149
|
bold: true,
|
|
154
150
|
small: true
|
|
155
|
-
}, translate(
|
|
151
|
+
}, translate(_BookingDetails2.L10N.LABEL_OBSERVATIONS)), observations.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
156
152
|
key: index,
|
|
157
153
|
small: true
|
|
158
154
|
}, item)))));
|
|
159
|
-
}), expanded && /*#__PURE__*/_react.default.createElement(
|
|
155
|
+
}), expanded && /*#__PURE__*/_react.default.createElement(_.BookingTable, _extends({}, propsTable, {
|
|
160
156
|
dataSource: extras,
|
|
161
|
-
label: translate(
|
|
162
|
-
})), isDesktop && !expanded && /*#__PURE__*/_react.default.createElement(
|
|
157
|
+
label: translate(_BookingDetails2.L10N.LABEL_BOOKING_EXTRAS)
|
|
158
|
+
})), isDesktop && !expanded && /*#__PURE__*/_react.default.createElement(_.ButtonMore, {
|
|
163
159
|
onPress: handlePress,
|
|
164
160
|
className: style.buttonMore
|
|
165
161
|
}));
|
|
166
162
|
};
|
|
167
|
-
exports.
|
|
168
|
-
|
|
169
|
-
|
|
163
|
+
exports.BookingDetails = BookingDetails;
|
|
164
|
+
BookingDetails.displayName = 'Mirai:Core:BookingDetails';
|
|
165
|
+
BookingDetails.propTypes = {
|
|
166
|
+
dataSource: _propTypes.default.shape({}),
|
|
167
|
+
expanded: _propTypes.default.bool
|
|
170
168
|
};
|
|
171
|
-
//# sourceMappingURL=
|
|
169
|
+
//# sourceMappingURL=BookingDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BookingDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingDetails","_BookingDetails2","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","BookingDetails","_ref","dataSource","expanded","propExpanded","others","isDesktop","isMobile","useDevice","translate","useLocale","value","config","accomodation","occupation","variants","hotel","id","hotelId","urlParams","roomNumberBySelectedRoom","useStore","setExpanded","useState","useEffect","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","currency","propsTable","roomNumber","getRoomNumber","multiRoom","createElement","View","className","styles","Text","bold","headline","L10N","LABEL_BOOKING_DETAILS","slice","undefined","map","_variants$find","amount","image","observations","adults","babies","children","rate","type","wide","row","item","backgroundImage","concat","inline","action","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","replace","trim","light","small","getRoomOccupationLabel","find","_ref2","Number","BookingTable","showTotal","Fragment","label","LABEL_EXTRAS","LABEL_OBSERVATIONS","index","LABEL_BOOKING_EXTRAS","ButtonMore","onPress","buttonMore","exports","displayName","propTypes","PropTypes","shape","bool"],"sources":["../../../../src/components/__shared__/BookingDetails/BookingDetails.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { MAX_VISIBLE_DETAILS } from './BookingDetails.constants';\nimport { L10N } from './BookingDetails.l10n';\nimport * as style from './BookingDetails.module.css';\nimport { BookingTable, ButtonMore } from '..';\nimport { getRoomNumber, getRoomOccupationLabel } from '../../helpers';\n\nconst BookingDetails = ({ dataSource = {}, expanded: propExpanded = false, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n hotel: { id: hotelId } = {},\n urlParams: { roomNumberBySelectedRoom } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(propExpanded);\n\n useEffect(() => {\n const { details: [{ items = [] } = {}] = [], extras = [] } = dataSource;\n setExpanded(!isDesktop || (items.length <= MAX_VISIBLE_DETAILS && extras.length === 0));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setExpanded(propExpanded);\n }, [propExpanded]);\n\n const handlePress = () => {\n setExpanded(true);\n };\n\n const { currency, details = [], extras = [] } = dataSource;\n const propsTable = { currency };\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const multiRoom = details.length > 1;\n\n return (\n <View {...others} className={styles(style.details, others.className)}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_DETAILS)}\n </Text>\n\n {details\n .slice(0, expanded ? undefined : 1)\n .map(\n (\n {\n amount,\n extras = [],\n image,\n items = [],\n observations = [],\n occupation: { adults, babies, children } = {},\n rate,\n type,\n } = {},\n key,\n ) => (\n <View key={key} wide>\n <View row className={style.item}>\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n <View>\n <View row className={style.inline}>\n <Text action={isMobile} bold>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n <Text action>{rate.replace(`${type}:`, '').trim()}</Text>\n <Text light small>\n {getRoomOccupationLabel({\n adults,\n babies,\n children,\n dataSource: variants.find(({ id }) => id === Number(hotelId))?.occupation || occupation,\n translate,\n })}\n </Text>\n </View>\n </View>\n\n <BookingTable\n {...propsTable}\n dataSource={items.slice(0, expanded ? undefined : MAX_VISIBLE_DETAILS)}\n showTotal={multiRoom}\n />\n\n {expanded && (\n <>\n <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_EXTRAS)} />\n\n {observations.length > 0 && (\n <View className={style.observations}>\n <Text bold small>\n {translate(L10N.LABEL_OBSERVATIONS)}\n </Text>\n {observations.map((item, index) => (\n <Text key={index} small>\n {item}\n </Text>\n ))}\n </View>\n )}\n </>\n )}\n </View>\n ),\n )}\n\n {expanded && <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_BOOKING_EXTRAS)} />}\n\n {isDesktop && !expanded && <ButtonMore onPress={handlePress} className={style.buttonMore} />}\n </View>\n );\n};\n\nBookingDetails.displayName = 'Mirai:Core:BookingDetails';\n\nBookingDetails.propTypes = {\n dataSource: PropTypes.shape({}),\n expanded: PropTypes.bool,\n};\n\nexport { BookingDetails };\n"],"mappings":"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"}
|