@mirai/core 0.3.402 → 0.3.403
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/BannerLoyalty/BannerLoyalty.js +17 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/Checkout/Checkout.constants.js +1 -3
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.js +8 -37
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +4 -23
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +0 -18
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Finder/Finder.js +10 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Header/Header.js +14 -18
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +8 -1
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.js +17 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/ClubRate/ClubRate.js +4 -0
- package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +43 -11
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +7 -1
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +14 -0
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js +8 -1
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +4 -0
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +5 -0
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +12 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +8 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +11 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +31 -8
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalMapView/ModalMapView.js +25 -14
- package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +10 -0
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.constants.js +1 -3
- package/build/components/__shared__/BookingSummary/BookingSummary.constants.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +0 -17
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js +0 -6
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.Row.js +2 -9
- package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.js +1 -9
- package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +1 -8
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +6 -0
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js +33 -4
- package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/build/components/Header/Header.constants.js +0 -9
- package/build/components/Header/Header.constants.js.map +0 -1
|
@@ -11,6 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
|
12
12
|
var _helpers = require("./helpers");
|
|
13
13
|
var style = _interopRequireWildcard(require("./PriceDetails.module.css"));
|
|
14
|
+
var _helpers2 = require("../../../../../helpers");
|
|
14
15
|
var _Rates = require("../../../../Rates.constants");
|
|
15
16
|
var _Item = require("../../Item.l10n");
|
|
16
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); }
|
|
@@ -21,6 +22,7 @@ const PriceDetails = _ref => {
|
|
|
21
22
|
board = {},
|
|
22
23
|
cart = [],
|
|
23
24
|
extras = [],
|
|
25
|
+
metrics = 'RATES:ITEM',
|
|
24
26
|
...others
|
|
25
27
|
} = _ref;
|
|
26
28
|
const {
|
|
@@ -38,6 +40,9 @@ const PriceDetails = _ref => {
|
|
|
38
40
|
currencyFormat,
|
|
39
41
|
translate
|
|
40
42
|
} = (0, _locale.useLocale)();
|
|
43
|
+
const handlePress = () => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
44
|
+
id: "".concat(metrics, ":PRICE_DETAILS")
|
|
45
|
+
});
|
|
41
46
|
const {
|
|
42
47
|
basePrice = 0,
|
|
43
48
|
discount: {
|
|
@@ -141,6 +146,7 @@ const PriceDetails = _ref => {
|
|
|
141
146
|
currency,
|
|
142
147
|
value: total
|
|
143
148
|
})))),
|
|
149
|
+
onPress: handlePress,
|
|
144
150
|
className: style.tooltip
|
|
145
151
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
146
152
|
accent: true,
|
|
@@ -164,6 +170,7 @@ PriceDetails.propTypes = {
|
|
|
164
170
|
originalPrice: _propTypes.default.number
|
|
165
171
|
}),
|
|
166
172
|
cart: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
167
|
-
extras: _propTypes.default.arrayOf(_propTypes.default.shape({}))
|
|
173
|
+
extras: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
174
|
+
metrics: _propTypes.default.string
|
|
168
175
|
};
|
|
169
176
|
//# sourceMappingURL=PriceDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_helpers","style","_interopRequireWildcard","_Rates","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","PriceDetails","_ref","board","cart","extras","others","isMobile","useDevice","value","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","length","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","createElement","View","row","Tooltip","pressable","Template","className","item","Text","action","L10N","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","concat","toUpperCase","LABEL_TAXES","LABEL_FEES","anchor","bold","LABEL_TOTAL","tooltip","accent","medium","small","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, 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 { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], ...others }) => {\n const { isMobile } = useDevice();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\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 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 {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 {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 <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 className={style.tooltip}\n >\n <Text accent action={!isMobile} medium small={isMobile} 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};\n\nexport { PriceDetails };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_helpers","style","_interopRequireWildcard","_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","PriceDetails","_ref","board","cart","extras","metrics","others","isMobile","useDevice","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","createElement","View","row","Tooltip","pressable","Template","className","item","Text","action","L10N","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","toUpperCase","LABEL_TAXES","LABEL_FEES","anchor","bold","LABEL_TOTAL","onPress","tooltip","accent","medium","small","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, useDevice, 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 { EVENT } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], metrics = 'RATES:ITEM', ...others }) => {\n const { isMobile } = useDevice();\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 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 {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 {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 <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={!isMobile} medium small={isMobile} 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};\n\nexport { PriceDetails };\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Slider = 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"));
|
|
@@ -26,6 +27,7 @@ const Slider = _ref => {
|
|
|
26
27
|
url3D,
|
|
27
28
|
urlVideo
|
|
28
29
|
} = {},
|
|
30
|
+
metrics = 'RATES:ITEM',
|
|
29
31
|
width,
|
|
30
32
|
onCounter,
|
|
31
33
|
onViewUrl = () => {},
|
|
@@ -42,6 +44,13 @@ const Slider = _ref => {
|
|
|
42
44
|
maxHeight: height
|
|
43
45
|
}
|
|
44
46
|
};
|
|
47
|
+
const handleSliderIndex = index => {
|
|
48
|
+
setSliderIndex(index);
|
|
49
|
+
if (index > 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
50
|
+
id: "".concat(metrics, ":SLIDER"),
|
|
51
|
+
index
|
|
52
|
+
});
|
|
53
|
+
};
|
|
45
54
|
return /*#__PURE__*/_react.default.createElement(_ui.View, sliderProps, /*#__PURE__*/_react.default.createElement(_ui.Slider, _extends({
|
|
46
55
|
captions,
|
|
47
56
|
height,
|
|
@@ -49,7 +58,7 @@ const Slider = _ref => {
|
|
|
49
58
|
indicator,
|
|
50
59
|
width,
|
|
51
60
|
onCounter,
|
|
52
|
-
onChange:
|
|
61
|
+
onChange: handleSliderIndex
|
|
53
62
|
}, sliderProps)), children, (url3D || urlVideo) && sliderIndex === 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
54
63
|
row: true,
|
|
55
64
|
className: style.buttons
|
|
@@ -97,6 +106,7 @@ Slider.propTypes = {
|
|
|
97
106
|
url3D: _propTypes.default.string,
|
|
98
107
|
urlVideo: _propTypes.default.string
|
|
99
108
|
}),
|
|
109
|
+
metrics: _propTypes.default.string,
|
|
100
110
|
width: _propTypes.default.number,
|
|
101
111
|
onCounter: _propTypes.default.func,
|
|
102
112
|
onViewUrl: _propTypes.default.func
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Slider","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","Slider","_ref","captions","children","height","images","indicator","media","url3D","urlVideo","metrics","width","onCounter","onViewUrl","others","translate","useLocale","sliderIndex","setSliderIndex","useState","sliderProps","className","slider","maxHeight","handleSliderIndex","index","Event","publish","EVENT","METRICS","id","concat","createElement","View","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","title","url","button","Icon","headline","level","value","ICON","PLAY","icon","LABEL_3D_VIEW","THREE_D","exports","displayName","propTypes","PropTypes","arrayOf","string","node","number","bool","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Slider/Slider.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Slider as SliderBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './Slider.l10n';\nimport * as style from './Slider.module.css';\nimport { EVENT, ICON } from '../../../../../helpers';\n\nconst Slider = ({\n captions = [],\n children,\n height,\n images = [],\n indicator = true,\n media: { url3D, urlVideo } = {},\n metrics = 'RATES:ITEM',\n width,\n onCounter,\n onViewUrl = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const sliderProps = { className: [style.slider, others.className], style: { height, maxHeight: height } };\n\n const handleSliderIndex = (index) => {\n setSliderIndex(index);\n if (index > 0) Event.publish(EVENT.METRICS, { id: `${metrics}:SLIDER`, index });\n };\n\n return (\n <View {...sliderProps}>\n <SliderBase\n {...{ captions, height, images, indicator, width, onCounter }}\n onChange={handleSliderIndex}\n {...sliderProps}\n />\n\n {children}\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} className={style.icon} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Mirai:Core:Rates:Item:Slider';\n\nSlider.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node,\n height: PropTypes.number,\n images: PropTypes.arrayOf(PropTypes.string),\n indicator: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n metrics: PropTypes.string,\n width: PropTypes.number,\n onCounter: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
|
|
@@ -48,7 +48,12 @@ const ModalExtras = _ref => {
|
|
|
48
48
|
} = (0, _dataSources.useStore)();
|
|
49
49
|
const [extras, setExtras] = (0, _react.useState)(propExtras);
|
|
50
50
|
(0, _react.useEffect)(() => {
|
|
51
|
-
if (visible)
|
|
51
|
+
if (visible) {
|
|
52
|
+
setExtras(propExtras);
|
|
53
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
54
|
+
id: 'RATES:EXTRAS'
|
|
55
|
+
});
|
|
56
|
+
}
|
|
52
57
|
}, [propExtras, visible]);
|
|
53
58
|
const handleChange = function () {
|
|
54
59
|
let {
|
|
@@ -63,7 +68,7 @@ const ModalExtras = _ref => {
|
|
|
63
68
|
})));
|
|
64
69
|
};
|
|
65
70
|
const handleSelect = id => {
|
|
66
|
-
|
|
71
|
+
const next = extras.map(_ref2 => {
|
|
67
72
|
let {
|
|
68
73
|
selected = false,
|
|
69
74
|
...extra
|
|
@@ -72,10 +77,27 @@ const ModalExtras = _ref => {
|
|
|
72
77
|
...extra,
|
|
73
78
|
selected: extra.id === id ? !selected : selected
|
|
74
79
|
};
|
|
75
|
-
})
|
|
80
|
+
});
|
|
81
|
+
setExtras(next);
|
|
82
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
83
|
+
id: "RATES:EXTRAS:".concat(next.filter(_ref3 => {
|
|
84
|
+
let {
|
|
85
|
+
selected
|
|
86
|
+
} = _ref3;
|
|
87
|
+
return selected;
|
|
88
|
+
}).length > extras.filter(_ref4 => {
|
|
89
|
+
let {
|
|
90
|
+
selected
|
|
91
|
+
} = _ref4;
|
|
92
|
+
return selected;
|
|
93
|
+
}).length ? 'ADD' : 'REMOVE')
|
|
94
|
+
});
|
|
76
95
|
};
|
|
77
96
|
const handleSubmit = () => {
|
|
78
|
-
|
|
97
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
98
|
+
id: 'RATES:EXTRAS:SUBMIT'
|
|
99
|
+
});
|
|
100
|
+
onSubmit(extras.filter(item => item.selected || item.included).map(_ref5 => {
|
|
79
101
|
var _baseValue;
|
|
80
102
|
let {
|
|
81
103
|
amount,
|
|
@@ -85,7 +107,7 @@ const ModalExtras = _ref => {
|
|
|
85
107
|
included,
|
|
86
108
|
valueAmount,
|
|
87
109
|
valueNights
|
|
88
|
-
} =
|
|
110
|
+
} = _ref5;
|
|
89
111
|
return {
|
|
90
112
|
id,
|
|
91
113
|
included,
|
|
@@ -269,13 +291,14 @@ const ModalExtras = _ref => {
|
|
|
269
291
|
small: !isMobile,
|
|
270
292
|
tiny: isMobile
|
|
271
293
|
}, translate((0, _helpers3.getLabelTaxes)(taxesType))), /*#__PURE__*/_react.default.createElement(_components.PriceDetails, _extends({
|
|
272
|
-
extras: extras.filter(
|
|
294
|
+
extras: extras.filter(_ref6 => {
|
|
273
295
|
let {
|
|
274
296
|
selected
|
|
275
|
-
} =
|
|
297
|
+
} = _ref6;
|
|
276
298
|
return selected;
|
|
277
299
|
}),
|
|
278
|
-
cart: cart
|
|
300
|
+
cart: cart,
|
|
301
|
+
metrics: "RATES:EXTRAS"
|
|
279
302
|
}, others, {
|
|
280
303
|
className: style.priceDetails
|
|
281
304
|
}))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","handleChange","id","field","undefined","map","extra","parseInt","handleSelect","_ref2","selected","handleSubmit","filter","item","included","_ref3","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","unselected","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref4","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","arrayOf","shape","number","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) setExtras(propExtras);\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n setExtras(\n extras.map(({ selected = false, ...extra }) => ({ ...extra, selected: extra.id === id ? !selected : selected })),\n );\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected ? (selected ? style.selected : style.unselected) : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button onPress={handleSubmit}>{translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}</Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","unselected","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","maximumFractionDigits","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","arrayOf","shape","number","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS:SUBMIT' });\n\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected ? (selected ? style.selected : style.unselected) : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button onPress={handleSubmit}>{translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}</Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
|
|
@@ -124,6 +124,9 @@ const ModalMapView = _ref => {
|
|
|
124
124
|
});
|
|
125
125
|
onClose();
|
|
126
126
|
});
|
|
127
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
128
|
+
id: 'HOTELS:MAP'
|
|
129
|
+
});
|
|
127
130
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
128
131
|
}, [items, visible]);
|
|
129
132
|
(0, _react.useEffect)(() => {
|
|
@@ -157,6 +160,9 @@ const ModalMapView = _ref => {
|
|
|
157
160
|
text: priceMarker(price)
|
|
158
161
|
});
|
|
159
162
|
marker.setZIndex(1024);
|
|
163
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
164
|
+
id: 'HOTELS:MAP:SELECT'
|
|
165
|
+
});
|
|
160
166
|
};
|
|
161
167
|
const resetMarker = function (marker) {
|
|
162
168
|
let {
|
|
@@ -190,20 +196,25 @@ const ModalMapView = _ref => {
|
|
|
190
196
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
191
197
|
return isHotel && ids.includes(id.toString());
|
|
192
198
|
}) || {};
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
199
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
200
|
+
id: 'HOTELS:MAP:VIEW_MORE'
|
|
201
|
+
});
|
|
202
|
+
setTimeout(() => {
|
|
203
|
+
window.location.href = "".concat(forwarder.rates).concat((0, _helpers3.toUrlParams)({
|
|
204
|
+
...(0, _helpers2.fetchUrlParams)(window.location.search),
|
|
205
|
+
...(0, _helpers4.getFinderParams)({
|
|
206
|
+
...finder,
|
|
207
|
+
...{
|
|
208
|
+
place: {
|
|
209
|
+
id: undefined,
|
|
210
|
+
value
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
hotel
|
|
214
|
+
}),
|
|
215
|
+
idtokenprovider: id
|
|
216
|
+
}));
|
|
217
|
+
}, 300);
|
|
207
218
|
};
|
|
208
219
|
return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
|
|
209
220
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalMapView.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalMapView","style","_helpers2","_shared__","_helpers3","_helpers4","_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","memoizedSelected","ModalMapView","_ref","_selected$features","items","nights","visible","onClose","others","isMobile","useDevice","translate","useLocale","value","currency","finder","forwarder","hotel","locale","tags","options","places","useStore","mapRef","useRef","map","setMap","useState","selected","setSelected","theme","Theme","icon","label","customMarker","accent","base","place","title","useEffect","loadGMaps","then","bounds","window","google","maps","LatLngBounds","Map","current","fullscreenControl","mapTypeControl","addListener","undefined","markers","forEach","marker","dataSource","item","position","lat","latitude","lng","longitude","price","text","currencyFormat","fancy","symbol","Marker","highlightMarker","resetMarker","push","extend","fitBounds","catch","Event","publish","EVENT","NOTIFICATION","error","L10N","NOTIFICATION_ERROR_MAP","panTo","itemIndex","findIndex","_ref2","id","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","createElement","Modal","fit","className","modal","View","ref","Card","styles","card","image","images","backgroundImage","content","Text","bold","headline","name","action","light","small","features","anchor","row","maximumFractionDigits","tiny","LABEL_PER_NIGHT","Button","onPress","ACTION_VIEW_MORE","exports","propTypes","PropTypes","arrayOf","shape","number","string","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, styles, Theme, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { customMarker, loadGMaps } from './helpers';\nimport { L10N } from './ModalMapView.l10n';\nimport * as style from './ModalMapView.module.css';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\n\nlet memoizedSelected;\n\nconst ModalMapView = ({ items = [], nights = 1, visible, onClose, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, finder = {}, forwarder = {}, hotel, locale, tags: { options: places = [] } = {} },\n } = useStore();\n\n const mapRef = useRef();\n const [map, setMap] = useState();\n const [selected, setSelected] = useState();\n\n const theme = Theme.get();\n const { icon, label } = customMarker(theme);\n const { accent, base } = theme;\n const { place: { title } = {} } = finder || {};\n\n useEffect(() => {\n if (!visible) return;\n\n loadGMaps()\n .then(() => {\n const bounds = new window.google.maps.LatLngBounds();\n const map = new window.google.maps.Map(mapRef.current, {\n fullscreenControl: false,\n mapTypeControl: false,\n });\n\n map.addListener('click', () => setSelected());\n map.addListener('dragstart', () => setSelected());\n setMap(map);\n\n if (!visible) return;\n\n setSelected(undefined);\n map.markers = map.markers || [];\n map.markers.forEach((marker) => marker.setMap());\n map.markers = [];\n\n items.forEach((dataSource = {}) => {\n const item = { ...dataSource, position: { lat: dataSource.latitude, lng: dataSource.longitude } };\n const { price, position } = item;\n const text = currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n const marker = new window.google.maps.Marker({ map, position, icon, label: { ...label, text } });\n\n marker.addListener('click', () => setSelected(item));\n marker.addListener('mouseover', () => highlightMarker(marker, item));\n marker.addListener('mouseout', () => (memoizedSelected !== item ? resetMarker(marker, item) : undefined));\n\n map.markers.push(marker);\n bounds.extend(position);\n });\n\n if (items.length > 0) map.fitBounds(bounds);\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, { error: true, ...L10N.NOTIFICATION_ERROR_MAP });\n onClose();\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, visible]);\n\n useEffect(() => {\n memoizedSelected = selected;\n if (!map || !items.length) return;\n if (selected) map.panTo(selected.position);\n\n const itemIndex = selected ? items.findIndex(({ id }) => id === selected.id) : -1;\n map.markers.forEach((marker, index) => {\n index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const highlightMarker = (marker, { price } = {}) => {\n marker.setIcon({ ...icon, fillColor: accent, strokeColor: accent, scale: 1.1 });\n marker.setLabel({ ...label, color: base, text: priceMarker(price) });\n marker.setZIndex(1024);\n };\n\n const resetMarker = (marker, { price } = {}, index) => {\n marker.setIcon(icon);\n marker.setLabel({ ...label, text: priceMarker(price) });\n marker.setZIndex(index);\n };\n\n const priceMarker = (price) => currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n\n const handlePress = () => {\n const { id } = selected;\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n return (\n <Modal {...others} {...{ title, visible, onClose }} fit className={[style.modal, others.className]}>\n <View ref={mapRef} className={style.map} />\n\n <Card className={styles(style.card, selected && style.visible)}>\n <View\n className={style.image}\n style={selected?.images ? { backgroundImage: `url(${selected?.images[0]})` } : undefined}\n />\n <View className={style.content}>\n <Text bold headline={!isMobile}>\n {selected?.name}\n </Text>\n <Text action={!isMobile} light small={isMobile} className={style.location}>\n {selected?.features?.location}\n </Text>\n\n <View className={style.anchor} />\n\n <View row>\n <View>\n <Text bold>{currencyFormat({ currency, locale, maximumFractionDigits: 0, value: selected?.price })}</Text>\n <Text light small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: selected?.price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n </View>\n <View className={style.anchor} />\n <Button small onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n </Modal>\n );\n};\n\nModalMapView.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalMapView.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalMapView","style","_helpers2","_shared__","_helpers3","_helpers4","_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","memoizedSelected","ModalMapView","_ref","_selected$features","items","nights","visible","onClose","others","isMobile","useDevice","translate","useLocale","value","currency","finder","forwarder","hotel","locale","tags","options","places","useStore","mapRef","useRef","map","setMap","useState","selected","setSelected","theme","Theme","icon","label","customMarker","accent","base","place","title","useEffect","loadGMaps","then","bounds","window","google","maps","LatLngBounds","Map","current","fullscreenControl","mapTypeControl","addListener","undefined","markers","forEach","marker","dataSource","item","position","lat","latitude","lng","longitude","price","text","currencyFormat","fancy","symbol","Marker","highlightMarker","resetMarker","push","extend","fitBounds","catch","Event","publish","EVENT","NOTIFICATION","error","L10N","NOTIFICATION_ERROR_MAP","METRICS","id","panTo","itemIndex","findIndex","_ref2","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","setTimeout","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","createElement","Modal","fit","className","modal","View","ref","Card","styles","card","image","images","backgroundImage","content","Text","bold","headline","name","action","light","small","features","anchor","row","maximumFractionDigits","tiny","LABEL_PER_NIGHT","Button","onPress","ACTION_VIEW_MORE","exports","propTypes","PropTypes","arrayOf","shape","number","string","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, styles, Theme, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { customMarker, loadGMaps } from './helpers';\nimport { L10N } from './ModalMapView.l10n';\nimport * as style from './ModalMapView.module.css';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\n\nlet memoizedSelected;\n\nconst ModalMapView = ({ items = [], nights = 1, visible, onClose, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, finder = {}, forwarder = {}, hotel, locale, tags: { options: places = [] } = {} },\n } = useStore();\n\n const mapRef = useRef();\n const [map, setMap] = useState();\n const [selected, setSelected] = useState();\n\n const theme = Theme.get();\n const { icon, label } = customMarker(theme);\n const { accent, base } = theme;\n const { place: { title } = {} } = finder || {};\n\n useEffect(() => {\n if (!visible) return;\n\n loadGMaps()\n .then(() => {\n const bounds = new window.google.maps.LatLngBounds();\n const map = new window.google.maps.Map(mapRef.current, {\n fullscreenControl: false,\n mapTypeControl: false,\n });\n\n map.addListener('click', () => setSelected());\n map.addListener('dragstart', () => setSelected());\n setMap(map);\n\n if (!visible) return;\n\n setSelected(undefined);\n map.markers = map.markers || [];\n map.markers.forEach((marker) => marker.setMap());\n map.markers = [];\n\n items.forEach((dataSource = {}) => {\n const item = { ...dataSource, position: { lat: dataSource.latitude, lng: dataSource.longitude } };\n const { price, position } = item;\n const text = currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n const marker = new window.google.maps.Marker({ map, position, icon, label: { ...label, text } });\n\n marker.addListener('click', () => setSelected(item));\n marker.addListener('mouseover', () => highlightMarker(marker, item));\n marker.addListener('mouseout', () => (memoizedSelected !== item ? resetMarker(marker, item) : undefined));\n\n map.markers.push(marker);\n bounds.extend(position);\n });\n\n if (items.length > 0) map.fitBounds(bounds);\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, { error: true, ...L10N.NOTIFICATION_ERROR_MAP });\n onClose();\n });\n\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, visible]);\n\n useEffect(() => {\n memoizedSelected = selected;\n if (!map || !items.length) return;\n if (selected) map.panTo(selected.position);\n\n const itemIndex = selected ? items.findIndex(({ id }) => id === selected.id) : -1;\n map.markers.forEach((marker, index) => {\n index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const highlightMarker = (marker, { price } = {}) => {\n marker.setIcon({ ...icon, fillColor: accent, strokeColor: accent, scale: 1.1 });\n marker.setLabel({ ...label, color: base, text: priceMarker(price) });\n marker.setZIndex(1024);\n\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:SELECT' });\n };\n\n const resetMarker = (marker, { price } = {}, index) => {\n marker.setIcon(icon);\n marker.setLabel({ ...label, text: priceMarker(price) });\n marker.setZIndex(index);\n };\n\n const priceMarker = (price) => currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n\n const handlePress = () => {\n const { id } = selected;\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n Event.publish(EVENT.METRICS, { id: 'HOTELS:MAP:VIEW_MORE' });\n\n setTimeout(() => {\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, 300);\n };\n\n return (\n <Modal {...others} {...{ title, visible, onClose }} fit className={[style.modal, others.className]}>\n <View ref={mapRef} className={style.map} />\n\n <Card className={styles(style.card, selected && style.visible)}>\n <View\n className={style.image}\n style={selected?.images ? { backgroundImage: `url(${selected?.images[0]})` } : undefined}\n />\n <View className={style.content}>\n <Text bold headline={!isMobile}>\n {selected?.name}\n </Text>\n <Text action={!isMobile} light small={isMobile} className={style.location}>\n {selected?.features?.location}\n </Text>\n\n <View className={style.anchor} />\n\n <View row>\n <View>\n <Text bold>{currencyFormat({ currency, locale, maximumFractionDigits: 0, value: selected?.price })}</Text>\n <Text light small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: selected?.price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n </View>\n <View className={style.anchor} />\n <Button small onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n </Modal>\n );\n};\n\nModalMapView.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ var _Session = require("./Session.constants");
|
|
|
15
15
|
var _Session2 = require("./Session.l10n");
|
|
16
16
|
var style = _interopRequireWildcard(require("./Session.module.css"));
|
|
17
17
|
var _Core = require("../../Core.constants");
|
|
18
|
+
var _helpers2 = require("../helpers");
|
|
18
19
|
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
20
|
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
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -143,6 +144,9 @@ const Modal = _ref => {
|
|
|
143
144
|
const method = resetPassword ? 'resetPassword' : 'login';
|
|
144
145
|
const response = await _services.ServiceUser[method](props).catch(error => {
|
|
145
146
|
setResponseError(error);
|
|
147
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
148
|
+
id: "LOGIN:".concat(resetPassword ? 'RESET_PASSWORD:' : '', "ERROR")
|
|
149
|
+
});
|
|
146
150
|
});
|
|
147
151
|
if (response) {
|
|
148
152
|
setResponse(response);
|
|
@@ -153,6 +157,9 @@ const Modal = _ref => {
|
|
|
153
157
|
onSuccess();
|
|
154
158
|
(0, _helpers.trackLogin)(response);
|
|
155
159
|
}
|
|
160
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
161
|
+
id: "LOGIN:".concat(resetPassword ? 'RESET_PASSWORD:' : '', "SUCCESS")
|
|
162
|
+
});
|
|
156
163
|
}
|
|
157
164
|
setBusy(false);
|
|
158
165
|
};
|
|
@@ -168,6 +175,9 @@ const Modal = _ref => {
|
|
|
168
175
|
};
|
|
169
176
|
const handleResetPassword = () => {
|
|
170
177
|
setResetPassword(!resetPassword);
|
|
178
|
+
if (!resetPassword) _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
179
|
+
id: 'LOGIN:FORGOT_PASSWORD'
|
|
180
|
+
});
|
|
171
181
|
};
|
|
172
182
|
const hasChildren = !!children;
|
|
173
183
|
return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|