@mirai/core 0.3.51 → 0.3.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Checkout/Checkout.js +2 -2
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +241 -13
- package/build/components/Checkout/helpers/index.js +0 -11
- package/build/components/Checkout/helpers/index.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +23 -18
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +8 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +35 -14
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.l10n.js +9 -4
- package/build/components/Rates/Rates.l10n.js.map +1 -1
- package/build/components/Rates/Rates.module.css +15 -7
- package/build/components/Rates/components/Item/Item.Preview.js +127 -0
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -0
- package/build/components/Rates/components/Item/Item.Rates.js +185 -0
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -0
- package/build/components/Rates/components/Item/Item.js +10 -188
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +6 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +21 -0
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -4
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +38 -0
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -0
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +20 -0
- package/build/components/Rates/components/Item/components/ModalUrl/index.js +17 -0
- package/build/components/Rates/components/Item/components/ModalUrl/index.js.map +1 -0
- package/build/components/Rates/components/Item/components/index.js +11 -0
- package/build/components/Rates/components/Item/components/index.js.map +1 -1
- package/build/components/Rates/components/Item/index.js +8 -1
- package/build/components/Rates/components/Item/index.js.map +1 -1
- package/build/components/helpers/ICON.js +4 -0
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/helpers/generateId.js.map +1 -0
- package/build/components/helpers/index.js +11 -0
- package/build/components/helpers/index.js.map +1 -1
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +0 -18
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +0 -12
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +0 -6
- package/build/services/Rates/get.js +7 -4
- package/build/services/Rates/get.js.map +1 -1
- package/package.json +1 -1
- package/build/components/Checkout/helpers/generateId.js.map +0 -1
- /package/build/components/{Checkout/helpers → helpers}/generateId.js +0 -0
|
@@ -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","Footer","_ref","dataSource","items","filter","clubDiscount","selected","taxes","onChange","isMobile","useDevice","translate","useLocale","value","currency","forwarder","urlParams","useStore","expanded","setExpanded","useState","useEffect","keys","length","handlePress","document","location","href","getForwarderUrl","options","values","reduce","_ref2","amount","price","rates","map","name","title","arguments","undefined","rate","flat","createElement","Fragment","View","className","styles","footer","visible","wrapper","wide","entries","_ref3","id","find","row","key","item","Text","small","concat","description","currencyFormat","Button","transparent","squared","onPress","Icon","ICON","CLOSE","bold","headline","level","line","lighten","L10N","LABEL_SELECTED_NUMBER_OPTIONS","number","Action","inline","large","ACTION_NEXT","exports","propTypes","PropTypes","shape","string","func","displayName"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Action, Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getForwarderUrl } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({\n dataSource: { items = [] } = {},\n filter: { clubDiscount = false } = {},\n selected = {},\n taxes,\n onChange = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, forwarder, urlParams } = {} } = useStore();\n\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setExpanded(false), [selected]);\n\n const handlePress = () => {\n document.location.href = getForwarderUrl({ clubDiscount, currency, forwarder, selected, urlParams });\n };\n\n const { length: options } = Object.keys(selected);\n const value = Object.values(selected).reduce((value, { amount, price }) => value + amount * price, 0);\n const rates = items.map(({ rates = [], name: title } = {}) => rates.map((rate = {}) => ({ ...rate, title }))).flat();\n\n return (\n <>\n <View className={styles(style.footer, options && style.visible)}>\n {expanded && (\n <View className={[style.wrapper, style.expanded]} wide>\n {Object.entries(selected).map(([id, { amount, price }]) => {\n const { name, title } = rates.find((rate) => rate.id === id);\n\n return (\n <View row key={id} className={style.item}>\n <Text small className={style.amount}>{`${amount}x`}</Text>\n <Text small className={style.description}>{`${title} (${name})`}</Text>\n <Text small>{currencyFormat({ currency, value: amount * price })}</Text>\n\n <Button transparent small squared onPress={() => onChange({ id, amount: 0 })}>\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n );\n })}\n </View>\n )}\n\n <View row className={style.wrapper}>\n <View className={style.price}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value })}\n </Text>\n <View row className={style.line}>\n {taxes && (\n <Text lighten small>\n {taxes}\n </Text>\n )}\n <Text lighten small className={style.line}>\n {translate(L10N.LABEL_SELECTED_NUMBER_OPTIONS, {\n number: (\n <Action inline small onPress={() => setExpanded(!expanded)}>\n {` ${options} options `}\n </Action>\n ),\n })}\n </Text>\n </View>\n </View>\n\n <Button large={!isMobile} onPress={handlePress}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nFooter.propTypes = {\n dataSource: PropTypes.shape({}),\n filter: PropTypes.shape({}),\n selected: PropTypes.shape({}),\n taxes: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nFooter.displayName = 'Mirai:Core:Rates.Footer';\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","Footer","_ref","dataSource","items","filter","clubDiscount","occupation","selected","taxes","onChange","isMobile","useDevice","translate","useLocale","value","currency","forwarder","urlParams","useStore","expanded","setExpanded","useState","useEffect","keys","length","handlePress","document","location","href","getForwarderUrl","options","values","reduce","_ref2","amount","price","rates","map","name","title","arguments","undefined","rate","flat","ViewCart","soloRoom","createElement","Action","inline","small","onPress","L10N","ACTION_HIDE_CART","ACTION_VIEW_CART","Fragment","View","className","styles","footer","visible","wrapper","wide","entries","_ref3","id","find","row","key","item","Text","bold","concat","description","currencyFormat","Button","transparent","squared","Icon","ICON","CLOSE","line","headline","level","lighten","tiny","LABEL_INCLUDES_TAXES_FEES","large","ACTION_NEXT","exports","propTypes","PropTypes","shape","arrayOf","array","string","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Action, Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getForwarderUrl } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({\n dataSource: { items = [] } = {},\n filter: { clubDiscount = false } = {},\n occupation = [],\n selected = {},\n taxes,\n onChange = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, forwarder, urlParams } = {} } = useStore();\n\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setExpanded(false), [selected]);\n\n const handlePress = () => {\n document.location.href = getForwarderUrl({ clubDiscount, currency, forwarder, selected, urlParams });\n };\n\n // ! Should know if didnt expire the storage\n const { length: options } = Object.keys(selected);\n const value = Object.values(selected).reduce((value, { amount, price }) => value + amount * price, 0);\n const rates = items.map(({ rates = [], name: title } = {}) => rates.map((rate = {}) => ({ ...rate, title }))).flat();\n\n const ViewCart = () =>\n !soloRoom ? (\n <Action inline small={isMobile} onPress={() => setExpanded(!expanded)}>\n {translate(expanded ? L10N.ACTION_HIDE_CART : L10N.ACTION_VIEW_CART, { amount: options })}\n </Action>\n ) : null;\n\n const soloRoom = occupation.length === 1;\n\n return (\n <>\n <View className={styles(style.footer, options && style.visible)}>\n {(expanded || soloRoom) && (\n <View className={[style.wrapper, style.expanded]} wide>\n {Object.entries(selected).map(([id, { amount, price }]) => {\n const { name, title } = rates.find((rate) => rate.id === id);\n\n return (\n <View row key={id} className={style.item}>\n <Text bold small className={style.amount}>{`${amount}x`}</Text>\n <Text small className={style.description}>{`${title} (${name})`}</Text>\n <Text bold small>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n\n <Button transparent small squared onPress={() => onChange({ id, amount: 0 })}>\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n );\n })}\n </View>\n )}\n\n <View row className={style.wrapper}>\n <View className={style.price}>\n <View row wide className={style.line}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value })}\n </Text>\n {isMobile && <ViewCart />}\n </View>\n\n <Text lighten small={!isMobile || !taxes} tiny={isMobile}>\n {taxes || translate(L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n </View>\n\n {!isMobile && <ViewCart />}\n\n <Button large={!isMobile} onPress={handlePress}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nFooter.propTypes = {\n dataSource: PropTypes.shape({}),\n filter: PropTypes.shape({}),\n occupation: PropTypes.arrayOf(PropTypes.array),\n selected: PropTypes.shape({}),\n taxes: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RATES_STORAGE_KEY = exports.RATES_STORAGE_CACHE = void 0;
|
|
7
|
+
const RATES_STORAGE_CACHE = exports.RATES_STORAGE_CACHE = 1000 * 60 * 60 * 24 * 2; // 2 days
|
|
8
|
+
|
|
9
|
+
const RATES_STORAGE_KEY = exports.RATES_STORAGE_KEY = 'MIRAI:RATES';
|
|
2
10
|
//# sourceMappingURL=Rates.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":[],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":[""],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["RATES_STORAGE_CACHE","exports","RATES_STORAGE_KEY"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const RATES_STORAGE_CACHE = 1000 * 60 * 60 * 24 * 2; // 2 days\n\nconst RATES_STORAGE_KEY = 'MIRAI:RATES';\n\nexport { RATES_STORAGE_CACHE, RATES_STORAGE_KEY };\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAErD,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,aAAa"}
|
|
@@ -10,11 +10,12 @@ var _ui = require("@mirai/ui");
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _components = require("./components");
|
|
12
12
|
var _helpers = require("./helpers");
|
|
13
|
-
var _Rates = require("./Rates.
|
|
14
|
-
var _Rates2 = require("./Rates.
|
|
15
|
-
var _Rates3 = require("./Rates.
|
|
13
|
+
var _Rates = require("./Rates.constants");
|
|
14
|
+
var _Rates2 = require("./Rates.Filter");
|
|
15
|
+
var _Rates3 = require("./Rates.Footer");
|
|
16
|
+
var _Rates4 = require("./Rates.l10n");
|
|
16
17
|
var style = _interopRequireWildcard(require("./Rates.module.css"));
|
|
17
|
-
var
|
|
18
|
+
var _Rates5 = _interopRequireDefault(require("./Rates.Skeleton"));
|
|
18
19
|
var _services = require("../../services");
|
|
19
20
|
var _Finder = require("../Finder/Finder");
|
|
20
21
|
var _helpers2 = require("../helpers");
|
|
@@ -53,31 +54,46 @@ const Rates = _ref => {
|
|
|
53
54
|
});
|
|
54
55
|
const [itemInfo, setItemInfo] = (0, _react.useState)();
|
|
55
56
|
const [itemRateInfo, setItemRateInfo] = (0, _react.useState)();
|
|
57
|
+
const [itemUrl, setItemUrl] = (0, _react.useState)();
|
|
56
58
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
57
59
|
const [selected, setSelected] = (0, _react.useState)({});
|
|
60
|
+
const storage = new _dataSources.Storage({
|
|
61
|
+
adapter: _dataSources.LocalAdapter,
|
|
62
|
+
cache: _Rates.RATES_STORAGE_CACHE
|
|
63
|
+
});
|
|
58
64
|
(0, _react.useEffect)(() => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
if (urlParams) {
|
|
66
|
+
const nextSelected = storage.get(key(urlParams));
|
|
67
|
+
if (nextSelected) setSelected({});
|
|
68
|
+
}
|
|
63
69
|
const handleScroll = () => setCompact(true);
|
|
64
70
|
window.addEventListener('scroll', handleScroll);
|
|
65
71
|
return () => window.removeEventListener('scroll', handleScroll);
|
|
66
72
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
73
|
}, []);
|
|
74
|
+
(0, _react.useEffect)(() => {
|
|
75
|
+
storage.set(key(urlParams), selected);
|
|
76
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
+
}, [selected]);
|
|
78
|
+
(0, _react.useEffect)(() => {
|
|
79
|
+
fetch(currency);
|
|
80
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
+
}, [currency, locale, session]);
|
|
68
82
|
const fetch = async function (currency) {
|
|
69
83
|
let clubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : filter.clubDiscount;
|
|
70
84
|
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
|
|
71
85
|
setFetching(true);
|
|
72
|
-
|
|
86
|
+
const nextParams = {
|
|
73
87
|
...params,
|
|
74
88
|
currency,
|
|
75
89
|
locale,
|
|
76
90
|
session,
|
|
77
91
|
clubDiscount
|
|
78
|
-
}
|
|
92
|
+
};
|
|
93
|
+
setDataSource(await _services.ServiceRates.get(nextParams).catch(setResponseError));
|
|
79
94
|
setFetching(false);
|
|
80
95
|
};
|
|
96
|
+
const key = dataSource => "".concat(_Rates.RATES_STORAGE_KEY, ":").concat((0, _helpers2.generateId)(JSON.stringify(dataSource)));
|
|
81
97
|
const handleChange = function () {
|
|
82
98
|
let {
|
|
83
99
|
amount = 0,
|
|
@@ -123,7 +139,7 @@ const Rates = _ref => {
|
|
|
123
139
|
}, /*#__PURE__*/_react.default.createElement(_Finder.Finder, {
|
|
124
140
|
assisted: false,
|
|
125
141
|
compact: compact,
|
|
126
|
-
text: translate(
|
|
142
|
+
text: translate(_Rates4.L10N.ACTION_SEARCH),
|
|
127
143
|
onExpand: () => setCompact(false),
|
|
128
144
|
onSubmit: handleFinderSubmit
|
|
129
145
|
})), /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
@@ -135,7 +151,7 @@ const Rates = _ref => {
|
|
|
135
151
|
className: style.progress
|
|
136
152
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
137
153
|
className: [style.wrapper, style.content]
|
|
138
|
-
}, response ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
154
|
+
}, response ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Rates2.Filter, {
|
|
139
155
|
dataSource: dataSource,
|
|
140
156
|
value: filter,
|
|
141
157
|
onChange: handleChangeFilter,
|
|
@@ -155,11 +171,13 @@ const Rates = _ref => {
|
|
|
155
171
|
taxes: dataSource.taxes,
|
|
156
172
|
onChange: handleChange,
|
|
157
173
|
onMoreInfo: () => setItemInfo(item),
|
|
158
|
-
onRateInfo: rate => setItemRateInfo(rate)
|
|
174
|
+
onRateInfo: rate => setItemRateInfo(rate),
|
|
175
|
+
onViewUrl: info => setItemUrl(info)
|
|
159
176
|
}));
|
|
160
|
-
})) : /*#__PURE__*/_react.default.createElement(
|
|
177
|
+
})) : /*#__PURE__*/_react.default.createElement(_Rates5.default, null)), /*#__PURE__*/_react.default.createElement(_Rates3.Footer, {
|
|
161
178
|
dataSource,
|
|
162
179
|
filter,
|
|
180
|
+
occupation,
|
|
163
181
|
selected,
|
|
164
182
|
taxes: dataSource === null || dataSource === void 0 ? void 0 : dataSource.taxes,
|
|
165
183
|
onChange: handleChange
|
|
@@ -169,6 +187,9 @@ const Rates = _ref => {
|
|
|
169
187
|
})), /*#__PURE__*/_react.default.createElement(_components.ModalItemRateInfo, _extends({}, itemRateInfo, {
|
|
170
188
|
visible: !!itemRateInfo,
|
|
171
189
|
onClose: () => setItemRateInfo()
|
|
190
|
+
})), /*#__PURE__*/_react.default.createElement(_components.ModalItemUrl, _extends({}, itemUrl, {
|
|
191
|
+
visible: !!itemUrl,
|
|
192
|
+
onClose: () => setItemUrl()
|
|
172
193
|
})));
|
|
173
194
|
};
|
|
174
195
|
exports.Rates = Rates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","style","_Rates4","_interopRequireDefault","_services","_Finder","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","others","translate","useLocale","value","club","discount","currency","finder","occupation","hotel","locale","session","urlParams","useStore","compact","setCompact","useState","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","responseError","setResponseError","selected","setSelected","useEffect","fetch","handleScroll","window","addEventListener","removeEventListener","params","ServiceRates","catch","handleChange","amount","id","standalone","next","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","createElement","Fragment","View","className","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","role","styles","container","Progress","indeterminate","visible","progress","wrapper","content","Filter","onChange","onCurrency","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","Footer","ModalItemInfo","onClose","ModalItemRateInfo","exports"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Progress, styles, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo } from './components';\nimport { getFinderParams } from './helpers';\nimport { Filter } from './Rates.Filter';\nimport { Footer } from './Rates.Footer';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport Skeleton from './Rates.Skeleton';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { toUrlParams } from '../helpers';\n\nconst Rates = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: { club: { discount } = {}, currency, finder: { occupation } = {}, hotel = {}, locale, session, urlParams },\n } = useStore();\n\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [responseError, setResponseError] = useState();\n const [selected, setSelected] = useState({});\n\n useEffect(() => {\n fetch(currency);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, locale, session]);\n\n useEffect(() => {\n const handleScroll = () => setCompact(true);\n\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams) => {\n setFetching(true);\n setDataSource(\n await ServiceRates.get({ ...params, currency, locale, session, clubDiscount }).catch(setResponseError),\n );\n setFetching(false);\n };\n\n const handleChange = ({ amount = 0, id, standalone = false, ...others } = {}) => {\n const next = standalone ? {} : { ...selected };\n if (amount === 0) delete next[id];\n else next[id] = { amount, ...others };\n\n setSelected(next);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n fetch(currency, filter.clubDiscount, params);\n };\n\n const response = dataSource !== undefined;\n\n return (\n <>\n <View className={style.finder}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n <View className={[style.wrapper, style.content]}>\n {response ? (\n <>\n <Filter\n dataSource={dataSource}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n />\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, occupation, selected, taxes: dataSource.taxes }}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n />\n ))}\n </>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer {...{ dataSource, filter, selected, taxes: dataSource?.taxes }} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n </>\n );\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_interopRequireDefault","_services","_Finder","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","others","translate","useLocale","value","club","discount","currency","finder","occupation","hotel","locale","session","urlParams","useStore","compact","setCompact","useState","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","responseError","setResponseError","selected","setSelected","storage","Storage","adapter","LocalAdapter","cache","RATES_STORAGE_CACHE","useEffect","nextSelected","handleScroll","window","addEventListener","removeEventListener","fetch","params","nextParams","ServiceRates","catch","concat","RATES_STORAGE_KEY","generateId","JSON","stringify","handleChange","amount","id","standalone","next","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","createElement","Fragment","View","className","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","role","styles","container","Progress","indeterminate","visible","progress","wrapper","content","Filter","onChange","onCurrency","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","onViewUrl","info","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","exports"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Progress, styles, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getFinderParams } from './helpers';\nimport { RATES_STORAGE_CACHE, RATES_STORAGE_KEY } from './Rates.constants';\nimport { Filter } from './Rates.Filter';\nimport { Footer } from './Rates.Footer';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport Skeleton from './Rates.Skeleton';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { generateId, toUrlParams } from '../helpers';\n\nconst Rates = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: { club: { discount } = {}, currency, finder: { occupation } = {}, hotel = {}, locale, session, urlParams },\n } = useStore();\n\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [responseError, setResponseError] = useState();\n const [selected, setSelected] = useState({});\n\n const storage = new Storage({ adapter: LocalAdapter, cache: RATES_STORAGE_CACHE });\n\n useEffect(() => {\n if (urlParams) {\n const nextSelected = storage.get(key(urlParams));\n if (nextSelected) setSelected({});\n }\n\n const handleScroll = () => setCompact(true);\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n storage.set(key(urlParams), selected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n useEffect(() => {\n fetch(currency);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, locale, session]);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams) => {\n setFetching(true);\n const nextParams = { ...params, currency, locale, session, clubDiscount };\n setDataSource(await ServiceRates.get(nextParams).catch(setResponseError));\n setFetching(false);\n };\n\n const key = (dataSource) => `${RATES_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\n const handleChange = ({ amount = 0, id, standalone = false, ...others } = {}) => {\n const next = standalone ? {} : { ...selected };\n if (amount === 0) delete next[id];\n else next[id] = { amount, ...others };\n\n setSelected(next);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n fetch(currency, filter.clubDiscount, params);\n };\n\n const response = dataSource !== undefined;\n\n return (\n <>\n <View className={style.finder}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n <View className={[style.wrapper, style.content]}>\n {response ? (\n <>\n <Filter\n dataSource={dataSource}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n />\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, occupation, selected, taxes: dataSource.taxes }}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n </>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer {...{ dataSource, filter, occupation, selected, taxes: dataSource?.taxes }} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n </>\n );\n};\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAP,uBAAA,CAAAJ,OAAA;AACA,IAAAY,OAAA,GAAAC,sBAAA,CAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AAAqD,SAAAa,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,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,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAErD,MAAMK,KAAK,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EAC1B,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJd,GAAG;IACHe,KAAK,EAAE;MAAEC,IAAI,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAAEC,QAAQ;MAAEC,MAAM,EAAE;QAAEC;MAAW,CAAC,GAAG,CAAC,CAAC;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEC,MAAM;MAAEC,OAAO;MAAEC;IAAU;EAClH,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAC5C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAACK,SAAS,CAAC;EACnD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAP,eAAQ,EAAC;IAAEQ,YAAY,EAAEnB;EAAS,CAAC,CAAC;EAChE,MAAM,CAACoB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAV,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACW,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;EAClD,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAd,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACe,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAhB,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACiB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAlB,eAAQ,EAAC,CAAC,CAAC,CAAC;EAE5C,MAAMmB,OAAO,GAAG,IAAIC,oBAAO,CAAC;IAAEC,OAAO,EAAEC,yBAAY;IAAEC,KAAK,EAAEC;EAAoB,CAAC,CAAC;EAElF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI7B,SAAS,EAAE;MACb,MAAM8B,YAAY,GAAGP,OAAO,CAAC3D,GAAG,CAACoB,GAAG,CAACgB,SAAS,CAAC,CAAC;MAChD,IAAI8B,YAAY,EAAER,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC;IAEA,MAAMS,YAAY,GAAGA,CAAA,KAAM5B,UAAU,CAAC,IAAI,CAAC;IAC3C6B,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEF,YAAY,CAAC;IAE/C,OAAO,MAAMC,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEH,YAAY,CAAC;IAC/D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAF,gBAAS,EAAC,MAAM;IACdN,OAAO,CAAC/C,GAAG,CAACQ,GAAG,CAACgB,SAAS,CAAC,EAAEqB,QAAQ,CAAC;IACrC;EACF,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAAQ,gBAAS,EAAC,MAAM;IACdM,KAAK,CAACzC,QAAQ,CAAC;IACf;EACF,CAAC,EAAE,CAACA,QAAQ,EAAEI,MAAM,EAAEC,OAAO,CAAC,CAAC;EAE/B,MAAMoC,KAAK,GAAG,eAAAA,CAAOzC,QAAQ,EAA6D;IAAA,IAA3DkB,YAAY,GAAA/B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG6B,MAAM,CAACE,YAAY;IAAA,IAAEwB,MAAM,GAAAvD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAGmB,SAAS;IACnFQ,WAAW,CAAC,IAAI,CAAC;IACjB,MAAM6B,UAAU,GAAG;MAAE,GAAGD,MAAM;MAAE1C,QAAQ;MAAEI,MAAM;MAAEC,OAAO;MAAEa;IAAa,CAAC;IACzEN,aAAa,CAAC,MAAMgC,sBAAY,CAAC1E,GAAG,CAACyE,UAAU,CAAC,CAACE,KAAK,CAACnB,gBAAgB,CAAC,CAAC;IACzEZ,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMxB,GAAG,GAAIqB,UAAU,OAAAmC,MAAA,CAAQC,wBAAiB,OAAAD,MAAA,CAAI,IAAAE,oBAAU,EAACC,IAAI,CAACC,SAAS,CAACvC,UAAU,CAAC,CAAC,CAAE;EAE5F,MAAMwC,YAAY,GAAG,SAAAA,CAAA,EAA4D;IAAA,IAA3D;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,UAAU,GAAG,KAAK;MAAE,GAAG5D;IAAO,CAAC,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,CAAC,CAAC;IAC1E,MAAMoE,IAAI,GAAGD,UAAU,GAAG,CAAC,CAAC,GAAG;MAAE,GAAG3B;IAAS,CAAC;IAC9C,IAAIyB,MAAM,KAAK,CAAC,EAAE,OAAOG,IAAI,CAACF,EAAE,CAAC,CAAC,KAC7BE,IAAI,CAACF,EAAE,CAAC,GAAG;MAAED,MAAM;MAAE,GAAG1D;IAAO,CAAC;IAErCkC,WAAW,CAAC2B,IAAI,CAAC;EACnB,CAAC;EAED,MAAMC,oBAAoB,GAAG,MAAOC,YAAY,IAAK;IACnD,MAAMhB,KAAK,CAACgB,YAAY,CAAC;IACzB3E,GAAG,CAAC;MAAEkB,QAAQ,EAAEyD;IAAa,CAAC,CAAC;EACjC,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAOC,UAAU,IAAK;IAC/C1C,SAAS,CAAC0C,UAAU,CAAC;IACrB,IAAIA,UAAU,CAACzC,YAAY,KAAKF,MAAM,CAACE,YAAY,EAAE,MAAMuB,KAAK,CAACzC,QAAQ,EAAE2D,UAAU,CAACzC,YAAY,CAAC;EACrG,CAAC;EAED,MAAM0C,kBAAkB,GAAIC,MAAM,IAAK;IACrCpD,UAAU,CAAC,IAAI,CAAC;IAChBG,aAAa,CAACG,SAAS,CAAC;IACxB,MAAM2B,MAAM,GAAG,IAAAoB,wBAAe,EAAC;MAAE,GAAGxD,SAAS;MAAE,GAAGuD,MAAM;MAAE7D,QAAQ;MAAEI,MAAM;MAAED;IAAM,CAAC,CAAC;IAEpF4D,OAAO,CAACC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAAC,qBAAW,EAACvB,MAAM,CAAC,CAAC;IACjDD,KAAK,CAACzC,QAAQ,EAAEgB,MAAM,CAACE,YAAY,EAAEwB,MAAM,CAAC;EAC9C,CAAC;EAED,MAAMwB,QAAQ,GAAGvD,UAAU,KAAKI,SAAS;EAEzC,oBACEpE,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAAAxH,MAAA,CAAAgB,OAAA,CAAAyG,QAAA,qBACEzH,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACzH,GAAA,CAAA2H,IAAI;IAACC,SAAS,EAAEnH,KAAK,CAAC8C;EAAO,gBAC5BtD,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAAC5G,OAAA,CAAAgH,MAAM;IACLC,QAAQ,EAAE,KAAM;IAChBhE,OAAO,EAAEA,OAAQ;IACjBiE,IAAI,EAAE9E,SAAS,CAAC+E,YAAI,CAACC,aAAa,CAAE;IACpCC,QAAQ,EAAEA,CAAA,KAAMnE,UAAU,CAAC,KAAK,CAAE;IAClCoE,QAAQ,EAAEjB;EAAmB,CAC9B,CACG,CAAC,eACPjH,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACzH,GAAA,CAAA2H,IAAI,EAAAtF,QAAA,KAAKW,MAAM;IAAEoF,IAAI,EAAC,OAAO;IAACR,SAAS,EAAE,IAAAS,UAAM,EAAC5H,KAAK,CAAC6H,SAAS,EAAEtF,MAAM,CAAC4E,SAAS;EAAE,iBAClF3H,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACzH,GAAA,CAAAuI,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAEtE,QAAQ,IAAI,CAACY,aAAc;IAAC6C,SAAS,EAAEnH,KAAK,CAACiI;EAAS,CAAE,CAAC,eAE1FzI,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACzH,GAAA,CAAA2H,IAAI;IAACC,SAAS,EAAE,CAACnH,KAAK,CAACkI,OAAO,EAAElI,KAAK,CAACmI,OAAO;EAAE,GAC7CpB,QAAQ,gBACPvH,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAAAxH,MAAA,CAAAgB,OAAA,CAAAyG,QAAA,qBACEzH,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACnH,OAAA,CAAAuI,MAAM;IACL5E,UAAU,EAAEA,UAAW;IACvBd,KAAK,EAAEmB,MAAO;IACdwE,QAAQ,EAAE9B,kBAAmB;IAC7B+B,UAAU,EAAEjC;EAAqB,CAClC,CAAC,EACD7C,UAAU,CAAC+E,KAAK,CAACC,GAAG,CAAC,CAAAC,KAAA,EAAkBC,KAAK;IAAA,IAAtB;MAAExC,EAAE;MAAE,GAAGyC;IAAK,CAAC,GAAAF,KAAA;IAAA,oBACpCjJ,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACtH,WAAA,CAAAkJ,IAAI,EAAAhH,QAAA;MACHO,GAAG,EAAE+D,EAAE,IAAIwC,KAAM;MACXxC;IAAE,GAAKyC,IAAI;MAAE9E,MAAM;MAAEd,UAAU;MAAEyB,QAAQ;MAAEqE,KAAK,EAAErF,UAAU,CAACqF,KAAK;MACxER,QAAQ,EAAErC,YAAa;MACvB8C,UAAU,EAAEA,CAAA,KAAM7E,WAAW,CAAC0E,IAAI,CAAE;MACpCI,UAAU,EAAGC,IAAI,IAAK7E,eAAe,CAAC6E,IAAI,CAAE;MAC5CC,SAAS,EAAGC,IAAI,IAAK7E,UAAU,CAAC6E,IAAI;IAAE,EACvC,CAAC;EAAA,CACH,CACD,CAAC,gBAEH1J,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAAC/G,OAAA,CAAAO,OAAQ,MAAE,CAET,CAAC,eAEPhB,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAAClH,OAAA,CAAAqJ,MAAM;IAAO3F,UAAU;IAAEK,MAAM;IAAEd,UAAU;IAAEyB,QAAQ;IAAEqE,KAAK,EAAErF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqF,KAAK;IAAIR,QAAQ,EAAErC;EAAa,CAAE,CACzG,CAAC,eAEPxG,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACtH,WAAA,CAAA0J,aAAa,EAAAxH,QAAA,KAAKoC,QAAQ;IAAEgE,OAAO,EAAE,CAAC,CAAChE,QAAS;IAACqF,OAAO,EAAEA,CAAA,KAAMpF,WAAW,CAAC;EAAE,EAAE,CAAC,eAClFzE,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACtH,WAAA,CAAA4J,iBAAiB,EAAA1H,QAAA,KAAKsC,YAAY;IAAE8D,OAAO,EAAE,CAAC,CAAC9D,YAAa;IAACmF,OAAO,EAAEA,CAAA,KAAMlF,eAAe,CAAC;EAAE,EAAE,CAAC,eAClG3E,MAAA,CAAAgB,OAAA,CAAAwG,aAAA,CAACtH,WAAA,CAAA6J,YAAY,EAAA3H,QAAA,KAAKwC,OAAO;IAAE4D,OAAO,EAAE,CAAC,CAAC5D,OAAQ;IAACiF,OAAO,EAAEA,CAAA,KAAMhF,UAAU,CAAC;EAAE,EAAE,CAC7E,CAAC;AAEP,CAAC;AAACmF,OAAA,CAAAnH,KAAA,GAAAA,KAAA"}
|
|
@@ -5,12 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.L10N = void 0;
|
|
7
7
|
const L10N = exports.L10N = {
|
|
8
|
+
ACTION_HIDE_CART: {
|
|
9
|
+
id: 'finder.action.hide_cart'
|
|
10
|
+
},
|
|
8
11
|
ACTION_NEXT: {
|
|
9
12
|
id: 'finder.action.next'
|
|
10
13
|
},
|
|
11
14
|
ACTION_SEARCH: {
|
|
12
15
|
id: 'common.action.search'
|
|
13
16
|
},
|
|
17
|
+
ACTION_VIEW_CART: {
|
|
18
|
+
id: 'finder.action.view_cart'
|
|
19
|
+
},
|
|
14
20
|
LABEL_CLUB_DISCOUNT: {
|
|
15
21
|
id: 'finder.label.discount_club'
|
|
16
22
|
},
|
|
@@ -20,12 +26,11 @@ const L10N = exports.L10N = {
|
|
|
20
26
|
LABEL_CLUB_MEMBERS_EXCLUSIVE: {
|
|
21
27
|
id: 'finder.label.club_members_exclusive'
|
|
22
28
|
},
|
|
23
|
-
LABEL_SELECTED_NUMBER_OPTIONS: {
|
|
24
|
-
id: 'finder.label.selected_options',
|
|
25
|
-
defaultMessage: 'Selected {number}.'
|
|
26
|
-
},
|
|
27
29
|
LABEL_SELECT_TYPE_ACCOMMODATION: {
|
|
28
30
|
id: 'finder.label.select_type_accommodation'
|
|
31
|
+
},
|
|
32
|
+
LABEL_INCLUDES_TAXES_FEES: {
|
|
33
|
+
id: 'finder.label.includes_taxes_fees'
|
|
29
34
|
}
|
|
30
35
|
};
|
|
31
36
|
//# sourceMappingURL=Rates.l10n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.l10n.js","names":["L10N","exports","
|
|
1
|
+
{"version":3,"file":"Rates.l10n.js","names":["L10N","exports","ACTION_HIDE_CART","id","ACTION_NEXT","ACTION_SEARCH","ACTION_VIEW_CART","LABEL_CLUB_DISCOUNT","LABEL_CLUB_BENEFITS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_SELECT_TYPE_ACCOMMODATION","LABEL_INCLUDES_TAXES_FEES"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_HIDE_CART: { id: 'finder.action.hide_cart' },\n ACTION_NEXT: { id: 'finder.action.next' },\n ACTION_SEARCH: { id: 'common.action.search' },\n ACTION_VIEW_CART: { id: 'finder.action.view_cart' },\n\n LABEL_CLUB_DISCOUNT: { id: 'finder.label.discount_club' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_SELECT_TYPE_ACCOMMODATION: { id: 'finder.label.select_type_accommodation' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,WAAW,EAAE;IAAED,EAAE,EAAE;EAAqB,CAAC;EACzCE,aAAa,EAAE;IAAEF,EAAE,EAAE;EAAuB,CAAC;EAC7CG,gBAAgB,EAAE;IAAEH,EAAE,EAAE;EAA0B,CAAC;EAEnDI,mBAAmB,EAAE;IAAEJ,EAAE,EAAE;EAA6B,CAAC;EACzDK,mBAAmB,EAAE;IAAEL,EAAE,EAAE;EAA6B,CAAC;EACzDM,4BAA4B,EAAE;IAAEN,EAAE,EAAE;EAAsC,CAAC;EAC3EO,+BAA+B,EAAE;IAAEP,EAAE,EAAE;EAAyC,CAAC;EACjFQ,yBAAyB,EAAE;IAAER,EAAE,EAAE;EAAmC;AACtE,CAAC"}
|
|
@@ -122,6 +122,7 @@ body {
|
|
|
122
122
|
transform: translateY(100%);
|
|
123
123
|
transition: transform var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
|
|
124
124
|
width: 100vw;
|
|
125
|
+
z-index: var(--mirai-ui-layer-M);
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
.footer.visible {
|
|
@@ -130,17 +131,15 @@ body {
|
|
|
130
131
|
|
|
131
132
|
.footer .price {
|
|
132
133
|
flex: 1;
|
|
133
|
-
gap: var(--mirai-ui-space-XS);
|
|
134
|
+
gap: calc(var(--mirai-ui-space-XS) / 2);
|
|
134
135
|
}
|
|
135
136
|
|
|
136
|
-
.footer .line {
|
|
137
|
-
|
|
138
|
-
flex-direction: row;
|
|
139
|
-
gap: calc(var(--mirai-ui-space-XS) / 2);
|
|
137
|
+
.footer .price .line {
|
|
138
|
+
gap: var(--mirai-ui-space-XS);
|
|
140
139
|
}
|
|
141
140
|
|
|
142
141
|
.footer .expanded {
|
|
143
|
-
padding-bottom: var(--mirai-ui-space-
|
|
142
|
+
padding-bottom: var(--mirai-ui-space-S);
|
|
144
143
|
margin-bottom: var(--mirai-ui-space-M);
|
|
145
144
|
gap: calc(var(--mirai-ui-space-XS) / 2);
|
|
146
145
|
box-shadow: inset 0 -1px 0 var(--mirai-ui-content-border);
|
|
@@ -150,7 +149,8 @@ body {
|
|
|
150
149
|
background-color: var(--mirai-ui-content-background);
|
|
151
150
|
border-radius: var(--mirai-ui-border-radius);
|
|
152
151
|
gap: var(--mirai-ui-space-XS);
|
|
153
|
-
padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-XS) var(--mirai-ui-space-XS)
|
|
152
|
+
padding: calc(var(--mirai-ui-space-XS) / 2) var(--mirai-ui-space-XS) calc(var(--mirai-ui-space-XS) / 2)
|
|
153
|
+
var(--mirai-ui-space-XS);
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
.footer .item .amount {
|
|
@@ -195,6 +195,10 @@ body {
|
|
|
195
195
|
padding: var(--mirai-ui-space-S);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
.footer .expanded {
|
|
199
|
+
padding-bottom: var(--mirai-ui-space-S);
|
|
200
|
+
}
|
|
201
|
+
|
|
198
202
|
.filter {
|
|
199
203
|
gap: var(--mirai-ui-space-S);
|
|
200
204
|
}
|
|
@@ -217,4 +221,8 @@ body {
|
|
|
217
221
|
.footer {
|
|
218
222
|
padding: var(--mirai-ui-space-M);
|
|
219
223
|
}
|
|
224
|
+
|
|
225
|
+
.footer .expanded {
|
|
226
|
+
padding-bottom: var(--mirai-ui-space-M);
|
|
227
|
+
}
|
|
220
228
|
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Preview = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var _ui = require("@mirai/ui");
|
|
9
|
+
var _Slider = require("@mirai/ui/build/components/Slider");
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _components = require("./components");
|
|
13
|
+
var _Item = require("./Item.l10n");
|
|
14
|
+
var style = _interopRequireWildcard(require("./Item.module.css"));
|
|
15
|
+
var _helpers = require("../../../helpers");
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
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); }
|
|
20
|
+
const Preview = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
images = [],
|
|
23
|
+
media: {
|
|
24
|
+
url3D,
|
|
25
|
+
urlVideo
|
|
26
|
+
} = {},
|
|
27
|
+
onMoreInfo,
|
|
28
|
+
onViewUrl = () => {},
|
|
29
|
+
...others
|
|
30
|
+
} = _ref;
|
|
31
|
+
const {
|
|
32
|
+
isDesktop,
|
|
33
|
+
width
|
|
34
|
+
} = (0, _ui.useDevice)();
|
|
35
|
+
const {
|
|
36
|
+
translate
|
|
37
|
+
} = (0, _locale.useLocale)();
|
|
38
|
+
const ref = (0, _react.useRef)(null);
|
|
39
|
+
const [sliderWidth, setSliderWidth] = (0, _react.useState)(320);
|
|
40
|
+
(0, _react.useEffect)(() => {
|
|
41
|
+
var _ref$current;
|
|
42
|
+
if (ref.current) setSliderWidth((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.clientWidth);
|
|
43
|
+
}, [width]);
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
45
|
+
ref: ref,
|
|
46
|
+
className: style.preview
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
48
|
+
className: style.slider
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement(_Slider.Slider, {
|
|
50
|
+
captions: images.map(_ref2 => {
|
|
51
|
+
let {
|
|
52
|
+
alt
|
|
53
|
+
} = _ref2;
|
|
54
|
+
return alt;
|
|
55
|
+
}),
|
|
56
|
+
height: 220,
|
|
57
|
+
images: images.map(_ref3 => {
|
|
58
|
+
let {
|
|
59
|
+
large
|
|
60
|
+
} = _ref3;
|
|
61
|
+
return large;
|
|
62
|
+
}),
|
|
63
|
+
thumbnails: images.map(_ref4 => {
|
|
64
|
+
let {
|
|
65
|
+
thumbnail
|
|
66
|
+
} = _ref4;
|
|
67
|
+
return thumbnail;
|
|
68
|
+
}),
|
|
69
|
+
width: sliderWidth,
|
|
70
|
+
onChange: () => {},
|
|
71
|
+
className: style.slider
|
|
72
|
+
}), (url3D || urlVideo) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
73
|
+
row: true,
|
|
74
|
+
className: style.buttons
|
|
75
|
+
}, urlVideo && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
76
|
+
rounded: true,
|
|
77
|
+
squared: true,
|
|
78
|
+
tooltip: translate(_Item.L10N.LABEL_VIEW_VIDEO),
|
|
79
|
+
transparent: true,
|
|
80
|
+
onPress: () => onViewUrl({
|
|
81
|
+
title: translate(_Item.L10N.LABEL_VIEW_VIDEO),
|
|
82
|
+
url: urlVideo
|
|
83
|
+
}),
|
|
84
|
+
className: style.button
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
86
|
+
headline: true,
|
|
87
|
+
level: 2,
|
|
88
|
+
value: _helpers.ICON.PLAY
|
|
89
|
+
})), url3D && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
90
|
+
rounded: true,
|
|
91
|
+
squared: true,
|
|
92
|
+
tooltip: translate(_Item.L10N.LABEL_3D_VIEW),
|
|
93
|
+
transparent: true,
|
|
94
|
+
onPress: () => onViewUrl({
|
|
95
|
+
title: translate(_Item.L10N.LABEL_3D_VIEW),
|
|
96
|
+
url: url3D
|
|
97
|
+
}),
|
|
98
|
+
className: style.button
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
100
|
+
headline: true,
|
|
101
|
+
level: 2,
|
|
102
|
+
value: _helpers.ICON.THREE_D
|
|
103
|
+
})))), /*#__PURE__*/_react.default.createElement(_components.Features, _extends({
|
|
104
|
+
box: true
|
|
105
|
+
}, others)), isDesktop && /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
|
|
106
|
+
highlight: true
|
|
107
|
+
}, others)), /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
108
|
+
inline: true,
|
|
109
|
+
onPress: onMoreInfo
|
|
110
|
+
}, translate(_Item.L10N.ACTION_MORE_INFO)));
|
|
111
|
+
};
|
|
112
|
+
exports.Preview = Preview;
|
|
113
|
+
Preview.propTypes = {
|
|
114
|
+
images: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
115
|
+
alt: _propTypes.default.string,
|
|
116
|
+
large: _propTypes.default.string,
|
|
117
|
+
thumbnail: _propTypes.default.string
|
|
118
|
+
})),
|
|
119
|
+
media: _propTypes.default.shape({
|
|
120
|
+
url3D: _propTypes.default.string,
|
|
121
|
+
urlVideo: _propTypes.default.string
|
|
122
|
+
}),
|
|
123
|
+
onMoreInfo: _propTypes.default.func,
|
|
124
|
+
onViewUrl: _propTypes.default.func
|
|
125
|
+
};
|
|
126
|
+
Preview.displayName = 'Mirai:Core:Rates:Item.Preview';
|
|
127
|
+
//# sourceMappingURL=Item.Preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.Preview.js","names":["_locale","require","_ui","_Slider","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","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","Preview","_ref","images","media","url3D","urlVideo","onMoreInfo","onViewUrl","others","isDesktop","width","useDevice","translate","useLocale","ref","useRef","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","createElement","View","className","preview","slider","Slider","captions","map","_ref2","alt","height","_ref3","large","thumbnails","_ref4","thumbnail","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","title","url","button","Icon","headline","level","value","ICON","PLAY","LABEL_3D_VIEW","THREE_D","Features","box","Amenities","highlight","Action","inline","ACTION_MORE_INFO","exports","propTypes","PropTypes","arrayOf","shape","string","func","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, useDevice, View } from '@mirai/ui';\nimport { Slider } from '@mirai/ui/build/components/Slider';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({ images = [], media: { url3D, urlVideo } = {}, onMoreInfo, onViewUrl = () => {}, ...others }) => {\n const { isDesktop, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth);\n }, [width]);\n\n return (\n <View ref={ref} className={style.preview}>\n <View className={style.slider}>\n <Slider\n captions={images.map(({ alt }) => alt)}\n height={220}\n images={images.map(({ large }) => large)}\n thumbnails={images.map(({ thumbnail }) => thumbnail)}\n width={sliderWidth}\n onChange={() => {}}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && (\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} />\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} />\n </Button>\n )}\n </View>\n )}\n </View>\n <Features box {...others} />\n {isDesktop && <Amenities highlight {...others} />}\n <Action inline onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n );\n};\n\nPreview.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nexport { Preview };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAAwC,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;AAExC,MAAMK,OAAO,GAAGC,IAAA,IAAmG;EAAA,IAAlG;IAAEC,MAAM,GAAG,EAAE;IAAEC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAG,CAAC,CAAC;IAAEC,UAAU;IAAEC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAE,GAAGC;EAAO,CAAC,GAAAP,IAAA;EAC5G,MAAM;IAAEQ,SAAS;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACxC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAExB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,GAAG,CAAC;EAEnD,IAAAC,gBAAS,EAAC,MAAM;IAAA,IAAAC,YAAA;IACd,IAAIN,GAAG,CAACO,OAAO,EAAEJ,cAAc,EAAAG,YAAA,GAACN,GAAG,CAACO,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,WAAW,CAAC;EAC3D,CAAC,EAAE,CAACZ,KAAK,CAAC,CAAC;EAEX,oBACE/C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACV,GAAG,EAAEA,GAAI;IAACW,SAAS,EAAE1D,KAAK,CAAC2D;EAAQ,gBACvC/D,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACC,SAAS,EAAE1D,KAAK,CAAC4D;EAAO,gBAC5BhE,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAC/D,OAAA,CAAAoE,MAAM;IACLC,QAAQ,EAAE3B,MAAM,CAAC4B,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,KAAA;MAAA,OAAKC,GAAG;IAAA,EAAE;IACvCC,MAAM,EAAE,GAAI;IACZ/B,MAAM,EAAEA,MAAM,CAAC4B,GAAG,CAACI,KAAA;MAAA,IAAC;QAAEC;MAAM,CAAC,GAAAD,KAAA;MAAA,OAAKC,KAAK;IAAA,EAAE;IACzCC,UAAU,EAAElC,MAAM,CAAC4B,GAAG,CAACO,KAAA;MAAA,IAAC;QAAEC;MAAU,CAAC,GAAAD,KAAA;MAAA,OAAKC,SAAS;IAAA,EAAE;IACrD5B,KAAK,EAAEM,WAAY;IACnBuB,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAE;IACnBd,SAAS,EAAE1D,KAAK,CAAC4D;EAAO,CACzB,CAAC,EAED,CAACvB,KAAK,IAAIC,QAAQ,kBACjB1C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACgB,GAAG;IAACf,SAAS,EAAE1D,KAAK,CAAC0E;EAAQ,GAChCpC,QAAQ,iBACP1C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAAmF,MAAM;IACLC,OAAO;IACPC,OAAO;IACPC,OAAO,EAAEjC,SAAS,CAACkC,UAAI,CAACC,gBAAgB,CAAE;IAC1CC,WAAW;IACXC,OAAO,EAAEA,CAAA,KAAM1C,SAAS,CAAC;MAAE2C,KAAK,EAAEtC,SAAS,CAACkC,UAAI,CAACC,gBAAgB,CAAC;MAAEI,GAAG,EAAE9C;IAAS,CAAC,CAAE;IACrFoB,SAAS,EAAE1D,KAAK,CAACqF;EAAO,gBAExBzF,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAA8F,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE,CAAE;IAACC,KAAK,EAAEC,aAAI,CAACC;EAAK,CAAE,CACtC,CACT,EAEAtD,KAAK,iBACJzC,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAAmF,MAAM;IACLC,OAAO;IACPC,OAAO;IACPC,OAAO,EAAEjC,SAAS,CAACkC,UAAI,CAACa,aAAa,CAAE;IACvCX,WAAW;IACXC,OAAO,EAAEA,CAAA,KAAM1C,SAAS,CAAC;MAAE2C,KAAK,EAAEtC,SAAS,CAACkC,UAAI,CAACa,aAAa,CAAC;MAAER,GAAG,EAAE/C;IAAM,CAAC,CAAE;IAC/EqB,SAAS,EAAE1D,KAAK,CAACqF;EAAO,gBAExBzF,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAA8F,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE,CAAE;IAACC,KAAK,EAAEC,aAAI,CAACG;EAAQ,CAAE,CACzC,CAEN,CAEJ,CAAC,eACPjG,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAC1D,WAAA,CAAAgG,QAAQ,EAAAtE,QAAA;IAACuE,GAAG;EAAA,GAAKtD,MAAM,CAAG,CAAC,EAC3BC,SAAS,iBAAI9C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAC1D,WAAA,CAAAkG,SAAS,EAAAxE,QAAA;IAACyE,SAAS;EAAA,GAAKxD,MAAM,CAAG,CAAC,eACjD7C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAChE,GAAA,CAAA0G,MAAM;IAACC,MAAM;IAACjB,OAAO,EAAE3C;EAAW,GAChCM,SAAS,CAACkC,UAAI,CAACqB,gBAAgB,CAC1B,CACJ,CAAC;AAEX,CAAC;AAACC,OAAA,CAAApE,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACqE,SAAS,GAAG;EAClBnE,MAAM,EAAEoE,kBAAS,CAACC,OAAO,CACvBD,kBAAS,CAACE,KAAK,CAAC;IACdxC,GAAG,EAAEsC,kBAAS,CAACG,MAAM;IACrBtC,KAAK,EAAEmC,kBAAS,CAACG,MAAM;IACvBnC,SAAS,EAAEgC,kBAAS,CAACG;EACvB,CAAC,CACH,CAAC;EACDtE,KAAK,EAAEmE,kBAAS,CAACE,KAAK,CAAC;IACrBpE,KAAK,EAAEkE,kBAAS,CAACG,MAAM;IACvBpE,QAAQ,EAAEiE,kBAAS,CAACG;EACtB,CAAC,CAAC;EACFnE,UAAU,EAAEgE,kBAAS,CAACI,IAAI;EAC1BnE,SAAS,EAAE+D,kBAAS,CAACI;AACvB,CAAC;AAED1E,OAAO,CAAC2E,WAAW,GAAG,+BAA+B"}
|