@mirai/core 0.3.52 → 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/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
|
@@ -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":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Rates = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
8
|
+
var _locale = require("@mirai/locale");
|
|
9
|
+
var _ui = require("@mirai/ui");
|
|
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 _shared__ = require("../../../__shared__");
|
|
16
|
+
var _helpers = require("../../../helpers");
|
|
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); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
+
const Rates = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
availability = 0,
|
|
23
|
+
filter = {},
|
|
24
|
+
occupation = [],
|
|
25
|
+
rates = [],
|
|
26
|
+
selected = {},
|
|
27
|
+
onChange,
|
|
28
|
+
onRateInfo
|
|
29
|
+
} = _ref;
|
|
30
|
+
const {
|
|
31
|
+
isDesktop
|
|
32
|
+
} = (0, _ui.useDevice)();
|
|
33
|
+
const {
|
|
34
|
+
translate
|
|
35
|
+
} = (0, _locale.useLocale)();
|
|
36
|
+
const {
|
|
37
|
+
value: {
|
|
38
|
+
currency
|
|
39
|
+
} = {}
|
|
40
|
+
} = (0, _dataSources.useStore)();
|
|
41
|
+
const [expanded, setExpanded] = (0, _react.useState)(rates.length < 3);
|
|
42
|
+
const [expandedRate, setExpandedRate] = (0, _react.useState)([]);
|
|
43
|
+
const availableAmount = availability - rates.reduce((total, _ref2) => {
|
|
44
|
+
var _selected$id;
|
|
45
|
+
let {
|
|
46
|
+
id
|
|
47
|
+
} = _ref2;
|
|
48
|
+
return total + (((_selected$id = selected[id]) === null || _selected$id === void 0 ? void 0 : _selected$id.amount) || 0);
|
|
49
|
+
}, 0);
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
51
|
+
className: (0, _ui.styles)(style.rates, expanded && style.expanded),
|
|
52
|
+
wide: true
|
|
53
|
+
}, rates.filter(function () {
|
|
54
|
+
let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
55
|
+
return filter.board ? rate.boardName === filter.board : true;
|
|
56
|
+
}).map(function () {
|
|
57
|
+
let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
58
|
+
const {
|
|
59
|
+
basePrice,
|
|
60
|
+
boardName,
|
|
61
|
+
cancellation = {},
|
|
62
|
+
discount = {},
|
|
63
|
+
included = [],
|
|
64
|
+
id,
|
|
65
|
+
name,
|
|
66
|
+
dayPrice,
|
|
67
|
+
price,
|
|
68
|
+
restrictions = [],
|
|
69
|
+
amount: [min = 1, max = 2] = []
|
|
70
|
+
} = rate;
|
|
71
|
+
const {
|
|
72
|
+
amount = 0
|
|
73
|
+
} = selected[id] || {};
|
|
74
|
+
const rateAvailability = [0, ...Array.from({
|
|
75
|
+
length: max - min + 1
|
|
76
|
+
}).map((_, index) => index + min)];
|
|
77
|
+
const expandedContent = included.length === 1 || expandedRate.includes(id);
|
|
78
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
79
|
+
key: id,
|
|
80
|
+
className: (0, _ui.styles)(style.box, style.rate, amount && style.selected)
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
82
|
+
row: true,
|
|
83
|
+
className: style.header
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
85
|
+
lighten: true,
|
|
86
|
+
small: true,
|
|
87
|
+
upperCase: true
|
|
88
|
+
}, boardName), discount.percentage > 0 && /*#__PURE__*/_react.default.createElement(_components.Discount, rate)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
89
|
+
row: isDesktop,
|
|
90
|
+
className: style.content
|
|
91
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
92
|
+
className: style.texts
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
94
|
+
bold: true,
|
|
95
|
+
headline: true,
|
|
96
|
+
level: 3
|
|
97
|
+
}, name), included.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, null, included.slice(0, expandedContent ? undefined : 1).map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
98
|
+
key: index,
|
|
99
|
+
small: true,
|
|
100
|
+
lighten: true,
|
|
101
|
+
wide: true
|
|
102
|
+
}, item, index === 0 && !expandedContent && /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
103
|
+
inline: true,
|
|
104
|
+
small: true,
|
|
105
|
+
onPress: () => setExpandedRate([...expandedRate, id]),
|
|
106
|
+
className: style.actionExpand
|
|
107
|
+
}, "More Info")))), restrictions.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
108
|
+
small: true,
|
|
109
|
+
warning: true
|
|
110
|
+
}, restrictions[0])), /*#__PURE__*/_react.default.createElement(isDesktop ? _react.default.Fragment : _ui.View, isDesktop ? undefined : {
|
|
111
|
+
row: true,
|
|
112
|
+
wide: true
|
|
113
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
114
|
+
className: style.prices
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
116
|
+
bold: true,
|
|
117
|
+
headline: true,
|
|
118
|
+
level: 2
|
|
119
|
+
}, (0, _locale.currencyFormat)({
|
|
120
|
+
currency,
|
|
121
|
+
value: price * (amount || 1)
|
|
122
|
+
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
123
|
+
row: true,
|
|
124
|
+
className: style.pricePerDay
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
126
|
+
tiny: true
|
|
127
|
+
}, (0, _locale.currencyFormat)({
|
|
128
|
+
currency,
|
|
129
|
+
value: dayPrice
|
|
130
|
+
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
131
|
+
lighten: true,
|
|
132
|
+
tiny: true
|
|
133
|
+
}, translate(_Item.L10N.LABEL_PER_UNIT_NIGHT)))), occupation.length === 1 ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
134
|
+
large: true,
|
|
135
|
+
secondary: amount > 0,
|
|
136
|
+
onPress: () => onChange({
|
|
137
|
+
id,
|
|
138
|
+
amount: amount > 0 ? 0 : 1,
|
|
139
|
+
basePrice,
|
|
140
|
+
price,
|
|
141
|
+
standalone: true
|
|
142
|
+
}),
|
|
143
|
+
className: style.button
|
|
144
|
+
}, translate(amount > 0 ? _Item.L10N.LABEL_DESELECT : _Item.L10N.LABEL_SELECT)) : /*#__PURE__*/_react.default.createElement(_ui.InputSelect, {
|
|
145
|
+
name: "amount",
|
|
146
|
+
disabledOptions: rateAvailability.map(amount => amount > availableAmount),
|
|
147
|
+
options: rateAvailability,
|
|
148
|
+
value: amount,
|
|
149
|
+
onChange: amount => onChange({
|
|
150
|
+
id,
|
|
151
|
+
amount: parseInt(amount),
|
|
152
|
+
basePrice,
|
|
153
|
+
price
|
|
154
|
+
}),
|
|
155
|
+
className: style.inputSelect
|
|
156
|
+
})))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
157
|
+
row: true,
|
|
158
|
+
className: style.footer
|
|
159
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
160
|
+
small: true
|
|
161
|
+
}, cancellation.hint), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
162
|
+
onPress: () => onRateInfo(rate)
|
|
163
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
164
|
+
value: _helpers.ICON.INFO
|
|
165
|
+
}))));
|
|
166
|
+
}), !expanded && /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
|
|
167
|
+
text: translate(_Item.L10N.ACTION_MORE_RATES),
|
|
168
|
+
onPress: () => setExpanded(true),
|
|
169
|
+
className: style.buttonMore
|
|
170
|
+
}));
|
|
171
|
+
};
|
|
172
|
+
exports.Rates = Rates;
|
|
173
|
+
Rates.displayName = 'Mirai:Core:Rates:Item.Rates';
|
|
174
|
+
Rates.propTypes = {
|
|
175
|
+
availability: _propTypes.default.number,
|
|
176
|
+
filter: _propTypes.default.shape({
|
|
177
|
+
board: _propTypes.default.string
|
|
178
|
+
}),
|
|
179
|
+
occupation: _propTypes.default.arrayOf(_propTypes.default.array),
|
|
180
|
+
rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
181
|
+
selected: _propTypes.default.shape({}),
|
|
182
|
+
onChange: _propTypes.default.func,
|
|
183
|
+
onRateInfo: _propTypes.default.func
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=Item.Rates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availability","filter","occupation","rates","selected","onChange","onRateInfo","isDesktop","useDevice","translate","useLocale","value","currency","useStore","expanded","setExpanded","useState","length","expandedRate","setExpandedRate","availableAmount","reduce","total","_ref2","_selected$id","id","amount","createElement","View","className","styles","wide","rate","arguments","undefined","board","boardName","map","basePrice","cancellation","discount","included","name","dayPrice","price","restrictions","min","max","rateAvailability","Array","from","_","index","expandedContent","includes","key","box","row","header","Text","lighten","small","upperCase","percentage","Discount","content","texts","bold","headline","level","slice","item","Action","inline","onPress","actionExpand","Notification","warning","React","Fragment","prices","currencyFormat","pricePerDay","tiny","L10N","LABEL_PER_UNIT_NIGHT","Button","large","secondary","standalone","button","LABEL_DESELECT","LABEL_SELECT","InputSelect","disabledOptions","options","parseInt","inputSelect","footer","hint","Pressable","Icon","ICON","INFO","ButtonMore","text","ACTION_MORE_RATES","buttonMore","exports","displayName","propTypes","PropTypes","number","shape","string","arrayOf","array","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputSelect, Notification, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { Discount } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ButtonMore } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({ availability = 0, filter = {}, occupation = [], rates = [], selected = {}, onChange, onRateInfo }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [expanded, setExpanded] = useState(rates.length < 3);\n const [expandedRate, setExpandedRate] = useState([]);\n\n const availableAmount = availability - rates.reduce((total, { id }) => total + (selected[id]?.amount || 0), 0);\n\n return (\n <View className={styles(style.rates, expanded && style.expanded)} wide>\n {rates\n .filter((rate = {}) => (filter.board ? rate.boardName === filter.board : true))\n .map((rate = {}) => {\n const {\n basePrice,\n boardName,\n cancellation = {},\n discount = {},\n included = [],\n id,\n name,\n dayPrice,\n price,\n restrictions = [],\n amount: [min = 1, max = 2] = [],\n } = rate;\n\n const { amount = 0 } = selected[id] || {};\n const rateAvailability = [0, ...Array.from({ length: max - min + 1 }).map((_, index) => index + min)];\n const expandedContent = included.length === 1 || expandedRate.includes(id);\n\n return (\n <View key={id} className={styles(style.box, style.rate, amount && style.selected)}>\n <View row className={style.header}>\n <Text lighten small upperCase>\n {boardName}\n </Text>\n {discount.percentage > 0 && <Discount {...rate} />}\n </View>\n\n <View row={isDesktop} className={style.content}>\n <View className={style.texts}>\n <Text bold headline level={3}>\n {name}\n </Text>\n\n {included.length > 0 && (\n <View>\n {included.slice(0, expandedContent ? undefined : 1).map((item, index) => (\n <Text key={index} small lighten wide>\n {item}\n\n {index === 0 && !expandedContent && (\n <Action\n inline\n small\n onPress={() => setExpandedRate([...expandedRate, id])}\n className={style.actionExpand}\n >\n More Info\n </Action>\n )}\n </Text>\n ))}\n </View>\n )}\n\n {restrictions.length > 0 && (\n <Notification small warning>\n {restrictions[0]}\n </Notification>\n )}\n </View>\n\n {React.createElement(\n isDesktop ? React.Fragment : View,\n isDesktop ? undefined : { row: true, wide: true },\n <>\n <View className={style.prices}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value: price * (amount || 1) })}\n </Text>\n <View row className={style.pricePerDay}>\n <Text tiny>{currencyFormat({ currency, value: dayPrice })}</Text>\n <Text lighten tiny>\n {translate(L10N.LABEL_PER_UNIT_NIGHT)}\n </Text>\n </View>\n </View>\n\n {occupation.length === 1 ? (\n <Button\n large\n secondary={amount > 0}\n onPress={() => onChange({ id, amount: amount > 0 ? 0 : 1, basePrice, price, standalone: true })}\n className={style.button}\n >\n {translate(amount > 0 ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT)}\n </Button>\n ) : (\n <InputSelect\n name=\"amount\"\n disabledOptions={rateAvailability.map((amount) => amount > availableAmount)}\n options={rateAvailability}\n value={amount}\n onChange={(amount) => onChange({ id, amount: parseInt(amount), basePrice, price })}\n className={style.inputSelect}\n />\n )}\n </>,\n )}\n </View>\n\n <View row className={style.footer}>\n <Text small>{cancellation.hint}</Text>\n <Pressable onPress={() => onRateInfo(rate)}>\n <Icon value={ICON.INFO} />\n </Pressable>\n </View>\n </View>\n );\n })}\n\n {!expanded && (\n <ButtonMore\n text={translate(L10N.ACTION_MORE_RATES)}\n onPress={() => setExpanded(true)}\n className={style.buttonMore}\n />\n )}\n </View>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item.Rates';\n\nRates.propTypes = {\n availability: PropTypes.number,\n filter: PropTypes.shape({\n board: PropTypes.string,\n }),\n occupation: PropTypes.arrayOf(PropTypes.array),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({}),\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -7,14 +7,12 @@ exports.Item = void 0;
|
|
|
7
7
|
var _dataSources = require("@mirai/data-sources");
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
|
-
var _Slider = require("@mirai/ui/build/components/Slider");
|
|
11
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _react =
|
|
13
|
-
var _components = require("./components");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
12
|
var _Item = require("./Item.l10n");
|
|
15
13
|
var style = _interopRequireWildcard(require("./Item.module.css"));
|
|
16
|
-
var
|
|
17
|
-
var
|
|
14
|
+
var _Item2 = require("./Item.Preview");
|
|
15
|
+
var _Item3 = require("./Item.Rates");
|
|
18
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); }
|
|
19
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; }
|
|
20
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -22,48 +20,24 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
22
20
|
const Item = _ref => {
|
|
23
21
|
let {
|
|
24
22
|
availability = 0,
|
|
25
|
-
filter = {},
|
|
26
|
-
images = [],
|
|
27
23
|
name: title,
|
|
28
|
-
occupation = [],
|
|
29
|
-
rates = [],
|
|
30
|
-
selected = {},
|
|
31
24
|
taxes,
|
|
32
|
-
onChange,
|
|
33
|
-
onMoreInfo,
|
|
34
|
-
onRateInfo,
|
|
35
25
|
...others
|
|
36
26
|
} = _ref;
|
|
37
27
|
const {
|
|
38
28
|
isDesktop,
|
|
39
|
-
|
|
29
|
+
isMobile
|
|
40
30
|
} = (0, _ui.useDevice)();
|
|
41
31
|
const {
|
|
42
32
|
translate
|
|
43
33
|
} = (0, _locale.useLocale)();
|
|
44
34
|
const {
|
|
45
35
|
value: {
|
|
46
|
-
currency,
|
|
47
36
|
hotel: {
|
|
48
37
|
warningAvailability = 9999
|
|
49
38
|
}
|
|
50
39
|
} = {}
|
|
51
40
|
} = (0, _dataSources.useStore)();
|
|
52
|
-
const previewRef = (0, _react.useRef)(null);
|
|
53
|
-
const [expanded, setExpanded] = (0, _react.useState)(rates.length < 3);
|
|
54
|
-
const [expandedRate, setExpandedRate] = (0, _react.useState)([]);
|
|
55
|
-
const [sliderWidth, setSliderWidth] = (0, _react.useState)(320);
|
|
56
|
-
(0, _react.useEffect)(() => {
|
|
57
|
-
var _previewRef$current;
|
|
58
|
-
if (previewRef.current) setSliderWidth((_previewRef$current = previewRef.current) === null || _previewRef$current === void 0 ? void 0 : _previewRef$current.clientWidth);
|
|
59
|
-
}, [width]);
|
|
60
|
-
const availableAmount = availability - rates.reduce((total, _ref2) => {
|
|
61
|
-
var _selected$id;
|
|
62
|
-
let {
|
|
63
|
-
id
|
|
64
|
-
} = _ref2;
|
|
65
|
-
return total + (((_selected$id = selected[id]) === null || _selected$id === void 0 ? void 0 : _selected$id.amount) || 0);
|
|
66
|
-
}, 0);
|
|
67
41
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
68
42
|
className: [style.box, style.item, others.className]
|
|
69
43
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -74,7 +48,7 @@ const Item = _ref => {
|
|
|
74
48
|
headline: true,
|
|
75
49
|
level: 2,
|
|
76
50
|
className: style.title
|
|
77
|
-
}, title), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
51
|
+
}, title), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
78
52
|
small: true
|
|
79
53
|
}, translate(taxes ? _Item.L10N.LABEL_EXCLUDES_TAXES_FEES : _Item.L10N.LABEL_INCLUDES_TAXES_FEES)), availability <= warningAvailability && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
80
54
|
error: true,
|
|
@@ -84,162 +58,9 @@ const Item = _ref => {
|
|
|
84
58
|
}))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
85
59
|
row: isDesktop,
|
|
86
60
|
className: style.info
|
|
87
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
91
|
-
className: style.slider
|
|
92
|
-
}, /*#__PURE__*/_react.default.createElement(_Slider.Slider, {
|
|
93
|
-
captions: images.map(_ref3 => {
|
|
94
|
-
let {
|
|
95
|
-
alt
|
|
96
|
-
} = _ref3;
|
|
97
|
-
return alt;
|
|
98
|
-
}),
|
|
99
|
-
height: 220,
|
|
100
|
-
images: images.map(_ref4 => {
|
|
101
|
-
let {
|
|
102
|
-
large
|
|
103
|
-
} = _ref4;
|
|
104
|
-
return large;
|
|
105
|
-
}),
|
|
106
|
-
thumbnails: images.map(_ref5 => {
|
|
107
|
-
let {
|
|
108
|
-
thumbnail
|
|
109
|
-
} = _ref5;
|
|
110
|
-
return thumbnail;
|
|
111
|
-
}),
|
|
112
|
-
width: sliderWidth,
|
|
113
|
-
onChange: () => {},
|
|
114
|
-
className: style.slider
|
|
115
|
-
})), /*#__PURE__*/_react.default.createElement(_components.Features, _extends({
|
|
116
|
-
box: true
|
|
117
|
-
}, others)), isDesktop && /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
|
|
118
|
-
highlight: true
|
|
119
|
-
}, others)), /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
120
|
-
inline: true,
|
|
121
|
-
onPress: onMoreInfo
|
|
122
|
-
}, translate(_Item.L10N.ACTION_MORE_INFO))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
123
|
-
className: (0, _ui.styles)(style.rates, expanded && style.expanded),
|
|
124
|
-
wide: true
|
|
125
|
-
}, rates.filter(function () {
|
|
126
|
-
let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
127
|
-
return filter.board ? rate.boardName === filter.board : true;
|
|
128
|
-
}).map(function () {
|
|
129
|
-
let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
130
|
-
const {
|
|
131
|
-
basePrice,
|
|
132
|
-
boardName,
|
|
133
|
-
cancellation = {},
|
|
134
|
-
discount = {},
|
|
135
|
-
included = [],
|
|
136
|
-
id,
|
|
137
|
-
name,
|
|
138
|
-
dayPrice,
|
|
139
|
-
price,
|
|
140
|
-
restrictions = [],
|
|
141
|
-
amount: [min = 1, max = 2] = []
|
|
142
|
-
} = rate;
|
|
143
|
-
const {
|
|
144
|
-
amount = 0
|
|
145
|
-
} = selected[id] || {};
|
|
146
|
-
const rateAvailability = [0, ...Array.from({
|
|
147
|
-
length: max - min + 1
|
|
148
|
-
}).map((_, index) => index + min)];
|
|
149
|
-
const expandedContent = included.length === 1 || expandedRate.includes(id);
|
|
150
|
-
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
151
|
-
key: id,
|
|
152
|
-
className: (0, _ui.styles)(style.box, style.rate, amount && style.selected)
|
|
153
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
154
|
-
row: true,
|
|
155
|
-
className: style.header
|
|
156
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
157
|
-
lighten: true,
|
|
158
|
-
small: true,
|
|
159
|
-
upperCase: true
|
|
160
|
-
}, boardName), discount.percentage > 0 && /*#__PURE__*/_react.default.createElement(_components.Discount, rate)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
161
|
-
row: isDesktop,
|
|
162
|
-
className: style.content
|
|
163
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
164
|
-
className: style.texts
|
|
165
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
166
|
-
bold: true,
|
|
167
|
-
headline: true,
|
|
168
|
-
level: 3
|
|
169
|
-
}, name), included.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, null, included.slice(0, expandedContent ? undefined : 1).map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
170
|
-
key: index,
|
|
171
|
-
small: true,
|
|
172
|
-
lighten: true,
|
|
173
|
-
wide: true
|
|
174
|
-
}, item, index === 0 && !expandedContent && /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
175
|
-
inline: true,
|
|
176
|
-
small: true,
|
|
177
|
-
onPress: () => setExpandedRate([...expandedRate, id]),
|
|
178
|
-
className: style.actionExpand
|
|
179
|
-
}, "More Info")))), restrictions.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
180
|
-
small: true,
|
|
181
|
-
warning: true
|
|
182
|
-
}, restrictions[0])), /*#__PURE__*/_react.default.createElement(isDesktop ? _react.default.Fragment : _ui.View, isDesktop ? undefined : {
|
|
183
|
-
row: true,
|
|
184
|
-
wide: true
|
|
185
|
-
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
186
|
-
className: style.prices
|
|
187
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
188
|
-
bold: true,
|
|
189
|
-
headline: true,
|
|
190
|
-
level: 2
|
|
191
|
-
}, (0, _locale.currencyFormat)({
|
|
192
|
-
currency,
|
|
193
|
-
value: price * (amount || 1)
|
|
194
|
-
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
195
|
-
row: true,
|
|
196
|
-
className: style.pricePerDay
|
|
197
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
198
|
-
tiny: true
|
|
199
|
-
}, (0, _locale.currencyFormat)({
|
|
200
|
-
currency,
|
|
201
|
-
value: dayPrice
|
|
202
|
-
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
203
|
-
lighten: true,
|
|
204
|
-
tiny: true
|
|
205
|
-
}, translate(_Item.L10N.LABEL_PER_UNIT_NIGHT)))), occupation.length === 1 ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
206
|
-
large: true,
|
|
207
|
-
secondary: amount > 0,
|
|
208
|
-
onPress: () => onChange({
|
|
209
|
-
id,
|
|
210
|
-
amount: amount > 0 ? 0 : 1,
|
|
211
|
-
basePrice,
|
|
212
|
-
price,
|
|
213
|
-
standalone: true
|
|
214
|
-
}),
|
|
215
|
-
className: style.button
|
|
216
|
-
}, translate(amount > 0 ? _Item.L10N.LABEL_DESELECT : _Item.L10N.LABEL_SELECT)) : /*#__PURE__*/_react.default.createElement(_ui.InputSelect, {
|
|
217
|
-
name: "amount",
|
|
218
|
-
disabledOptions: rateAvailability.map(amount => amount > availableAmount),
|
|
219
|
-
options: rateAvailability,
|
|
220
|
-
value: amount,
|
|
221
|
-
onChange: amount => onChange({
|
|
222
|
-
id,
|
|
223
|
-
amount: parseInt(amount),
|
|
224
|
-
basePrice,
|
|
225
|
-
price
|
|
226
|
-
}),
|
|
227
|
-
className: style.inputSelect
|
|
228
|
-
})))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
229
|
-
row: true,
|
|
230
|
-
className: style.footer
|
|
231
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
232
|
-
small: true
|
|
233
|
-
}, cancellation.hint), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
234
|
-
onPress: () => onRateInfo(rate)
|
|
235
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
236
|
-
value: _helpers.ICON.INFO
|
|
237
|
-
}))));
|
|
238
|
-
}), !expanded && /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
|
|
239
|
-
text: translate(_Item.L10N.ACTION_MORE_RATES),
|
|
240
|
-
onPress: () => setExpanded(true),
|
|
241
|
-
className: style.buttonMore
|
|
242
|
-
}))));
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(_Item2.Preview, others), /*#__PURE__*/_react.default.createElement(_Item3.Rates, _extends({
|
|
62
|
+
availability
|
|
63
|
+
}, others))));
|
|
243
64
|
};
|
|
244
65
|
exports.Item = Item;
|
|
245
66
|
Item.propTypes = {
|
|
@@ -261,7 +82,8 @@ Item.propTypes = {
|
|
|
261
82
|
taxes: _propTypes.default.string,
|
|
262
83
|
onChange: _propTypes.default.func,
|
|
263
84
|
onMoreInfo: _propTypes.default.func,
|
|
264
|
-
onRateInfo: _propTypes.default.func
|
|
85
|
+
onRateInfo: _propTypes.default.func,
|
|
86
|
+
onViewUrl: _propTypes.default.func
|
|
265
87
|
};
|
|
266
88
|
Item.displayName = 'Mirai:Core:Rates:Item';
|
|
267
89
|
//# sourceMappingURL=Item.js.map
|