@mirai/core 0.3.269 → 0.3.271
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/BannerLoyalty/BannerLoyalty.js +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/Booking/partials/Booking.PriceBreakdown.js +1 -1
- package/build/components/Booking/partials/Booking.PriceBreakdown.js.map +1 -1
- package/build/components/Booking/partials/Booking.Summary.js +3 -3
- package/build/components/Booking/partials/Booking.Summary.js.map +1 -1
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Summary.test.js.snap +16 -16
- package/build/components/Chat/Chat.js +1 -1
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Input/Input.js +1 -1
- package/build/components/Chat/components/Input/Input.js.map +1 -1
- package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +4 -4
- package/build/components/Chat/components/Message/Message.js +1 -1
- package/build/components/Chat/components/Message/Message.js.map +1 -1
- package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +1 -1
- package/build/components/Chat/components/Message/components/Booking.js +2 -2
- package/build/components/Chat/components/Message/components/Booking.js.map +1 -1
- package/build/components/Chat/components/Message/intents/HotelInfo.js +1 -1
- package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Details.js +1 -1
- package/build/components/Checkout/partials/Checkout.Details.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Summary.js +4 -4
- package/build/components/Checkout/partials/Checkout.Summary.js.map +1 -1
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +18 -18
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Details.test.js.snap +6 -6
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Summary.test.js.snap +8 -8
- package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +1 -1
- package/build/components/Finder/Finder.js +2 -2
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +2 -2
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +6 -4
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.module.css +2 -1
- package/build/components/Rates/components/CardHotel/CardHotel.js +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/ClubRate/ClubRate.js +8 -14
- package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
- package/build/components/Rates/components/ClubRate/ClubRate.module.css +3 -6
- package/build/components/Rates/components/Item/Item.Preview.js +4 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +15 -10
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +2 -2
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +1 -0
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.js +2 -3
- package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.module.css +4 -5
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +2 -2
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +3 -3
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +6 -6
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.Row.js +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
- package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +1 -1
- package/build/components/__shared__/Occupation/Occupation.Group.js +1 -1
- package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
- package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +3 -3
- package/package.json +1 -1
|
@@ -11,7 +11,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
|
12
12
|
var _ClubRate = require("./ClubRate.l10n");
|
|
13
13
|
var style = _interopRequireWildcard(require("./ClubRate.module.css"));
|
|
14
|
-
var _helpers = require("../../../helpers");
|
|
15
14
|
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); }
|
|
16
15
|
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; }
|
|
17
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -39,21 +38,16 @@ const ClubRate = _ref => {
|
|
|
39
38
|
} = {}
|
|
40
39
|
}
|
|
41
40
|
} = (0, _dataSources.useStore)();
|
|
42
|
-
const {
|
|
43
|
-
accent
|
|
44
|
-
} = _ui.Theme.get();
|
|
45
41
|
return title && benefits.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
46
|
-
className: style.container
|
|
47
|
-
style: {
|
|
48
|
-
backgroundColor: (0, _helpers.opacity)(accent, 0.1)
|
|
49
|
-
}
|
|
42
|
+
className: style.container
|
|
50
43
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
44
|
+
accent: true,
|
|
51
45
|
bold: true
|
|
52
|
-
}, translate(_ClubRate.L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)), /*#__PURE__*/_react.default.createElement(_ui.
|
|
53
|
-
className: style.list
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
46
|
+
}, translate(_ClubRate.L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
55
47
|
action: true
|
|
56
|
-
}, translate(_ClubRate.L10N.LABEL_CLUB_BENEFITS)),
|
|
48
|
+
}, translate(_ClubRate.L10N.LABEL_CLUB_BENEFITS)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
49
|
+
className: style.list
|
|
50
|
+
}, benefits.map(function () {
|
|
57
51
|
let {
|
|
58
52
|
description
|
|
59
53
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -64,8 +58,8 @@ const ClubRate = _ref => {
|
|
|
64
58
|
small: isMobile
|
|
65
59
|
}, "\u2022 ".concat(description[locale] || description[_locale.DEFAULT_LOCALE]));
|
|
66
60
|
})), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
67
|
-
|
|
68
|
-
|
|
61
|
+
onPress: onSubmit,
|
|
62
|
+
wide: true
|
|
69
63
|
}, translate(_ClubRate.L10N.ACTION_BOOK_AND_JOIN)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
70
64
|
className: style.divider
|
|
71
65
|
}), /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_ClubRate","style","_interopRequireWildcard","
|
|
1
|
+
{"version":3,"file":"ClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_ClubRate","style","_interopRequireWildcard","_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","ClubRate","_ref","onCancel","onSubmit","others","isMobile","useDevice","locale","translate","useLocale","value","club","banner","benefits","title","useStore","createElement","View","className","container","Text","accent","bold","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","action","LABEL_CLUB_BENEFITS","list","map","description","undefined","index","small","concat","DEFAULT_LOCALE","Button","onPress","wide","ACTION_BOOK_AND_JOIN","divider","Action","inline","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Rates/components/ClubRate/ClubRate.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { Action, Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './ClubRate.l10n';\nimport * as style from './ClubRate.module.css';\n\nconst ClubRate = ({ onCancel, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], title } = {} } = {} },\n } = useStore();\n\n return title && benefits.length > 0 ? (\n <View {...others} className={style.container}>\n <Text accent bold>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Text>\n\n <Text action>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n <View className={style.list}>\n {benefits.map(({ description } = {}, index) => (\n <Text key={index} action={!isMobile} small={isMobile}>\n {`• ${description[locale] || description[DEFAULT_LOCALE]}`}\n </Text>\n ))}\n </View>\n\n <Button onPress={onSubmit} wide>\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n <View className={style.divider} />\n <Action inline onPress={onCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n ) : null;\n};\n\nClubRate.displayName = 'Mirai:Core:Rates:ClubRate';\n\nClubRate.propTypes = {\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ClubRate };\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
.container {
|
|
2
2
|
align-self: flex-start;
|
|
3
|
-
background-color: var(--mirai-ui-
|
|
3
|
+
background-color: var(--mirai-ui-accent-background);
|
|
4
|
+
border: solid 1px var(--mirai-ui-accent-border);
|
|
4
5
|
padding: var(--mirai-ui-space-L);
|
|
5
6
|
width: 100%;
|
|
6
7
|
}
|
|
@@ -11,7 +12,7 @@
|
|
|
11
12
|
|
|
12
13
|
.container .divider {
|
|
13
14
|
height: 1px;
|
|
14
|
-
background-color: var(--mirai-ui-
|
|
15
|
+
background-color: var(--mirai-ui-accent-border);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
/* S */
|
|
@@ -28,8 +29,4 @@
|
|
|
28
29
|
gap: var(--mirai-ui-space-M);
|
|
29
30
|
max-width: calc(var(--mirai-ui-breakpoint-S) - calc(var(--mirai-ui-space-L) * 2));
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
.container .list {
|
|
33
|
-
margin-bottom: var(--mirai-ui-space-L);
|
|
34
|
-
}
|
|
35
32
|
}
|
|
@@ -23,6 +23,7 @@ let memoizedWidth = 374;
|
|
|
23
23
|
const Preview = _ref => {
|
|
24
24
|
let {
|
|
25
25
|
availability = 0,
|
|
26
|
+
availableRates = [],
|
|
26
27
|
boards = [],
|
|
27
28
|
cancellations = [],
|
|
28
29
|
features: {
|
|
@@ -64,7 +65,7 @@ const Preview = _ref => {
|
|
|
64
65
|
} = ref.current || {};
|
|
65
66
|
if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);
|
|
66
67
|
}, [isDesktop, isTablet, width]);
|
|
67
|
-
const [uniqueRate] =
|
|
68
|
+
const [uniqueRate] = cancellations.length === availableRates.length ? rates : [];
|
|
68
69
|
const caption = {
|
|
69
70
|
capitalize: true,
|
|
70
71
|
action: !isMobile,
|
|
@@ -147,7 +148,7 @@ const Preview = _ref => {
|
|
|
147
148
|
action: isMobile,
|
|
148
149
|
value: _helpers.ICON.INFO
|
|
149
150
|
}))), cancellations[0].caption && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
150
|
-
|
|
151
|
+
light: true,
|
|
151
152
|
small: true
|
|
152
153
|
}, cancellations[0].caption)), (uniqueRate === null || uniqueRate === void 0 ? void 0 : uniqueRate.isClub) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
153
154
|
row: true
|
|
@@ -188,6 +189,7 @@ exports.Preview = Preview;
|
|
|
188
189
|
Preview.displayName = 'Mirai:Core:Rates:Item:Preview';
|
|
189
190
|
Preview.propTypes = {
|
|
190
191
|
availability: _propTypes.default.number,
|
|
192
|
+
availableRates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
191
193
|
boards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
192
194
|
cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
193
195
|
features: _propTypes.default.shape({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","boards","cancellations","features","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","useEffect","clientWidth","current","uniqueRate","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","undefined","slider","row","offset","spaceBetween","details","Features","Text","bold","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","INFO","lighten","isClub","rate","LABEL_ONLY_MEMBERS","restrictions","isVariableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n boards = [],\n cancellations = [],\n features: { rowMode = false },\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isDesktop, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isDesktop, isTablet, width]);\n\n const [uniqueRate] = rates.length === 1 ? rates : [];\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates, variants = [] } = selectedBoard;\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n width={memoizedWidth}\n onCounter={!isMobile ? onMoreInfo : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...others} onMoreInfo={onMoreInfo} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n {boards.length === 1 && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n </>\n )}\n\n {cancellations.length === 1 && (\n <View>\n <View row>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text lighten small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.isClub && (\n <View row>\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ isVariableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {isVariableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n rowMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","availableRates","boards","cancellations","features","rowMode","images","isSoldOut","media","name","title","rates","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","useEffect","clientWidth","current","uniqueRate","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","undefined","slider","row","offset","spaceBetween","details","Features","Text","bold","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","headline","level","Amenities","highlight","Fragment","included","item","index","Icon","ICON","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","INFO","light","isClub","rate","LABEL_ONLY_MEMBERS","restrictions","isVariableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableRates = [],\n boards = [],\n cancellations = [],\n features: { rowMode = false },\n images = [],\n isSoldOut = false,\n media,\n name: title,\n rates = [],\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isDesktop, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isDesktop, isTablet, width]);\n\n const [uniqueRate] = cancellations.length === availableRates.length ? rates : [];\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates, variants = [] } = selectedBoard;\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n width={memoizedWidth}\n onCounter={!isMobile ? onMoreInfo : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...others} onMoreInfo={onMoreInfo} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n {boards.length === 1 && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n </>\n )}\n\n {cancellations.length === 1 && (\n <View>\n <View row>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.isClub && (\n <View row>\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ isVariableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {isVariableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n rowMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|
|
@@ -18,11 +18,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
18
|
const Rates = _ref => {
|
|
19
19
|
let {
|
|
20
20
|
availableBoards = [],
|
|
21
|
+
availableRates = [],
|
|
21
22
|
boards = [],
|
|
22
23
|
cancellations = [],
|
|
23
24
|
features: {
|
|
25
|
+
columnMode,
|
|
24
26
|
hideRadio = false,
|
|
25
|
-
rowMode
|
|
27
|
+
rowMode,
|
|
26
28
|
showOffersFirst = false,
|
|
27
29
|
showRateIncluded = false
|
|
28
30
|
} = {},
|
|
@@ -46,15 +48,17 @@ const Rates = _ref => {
|
|
|
46
48
|
} = selectedBoard;
|
|
47
49
|
const has = {
|
|
48
50
|
cancellations: cancellations.length > 1,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
boards: boards.length > 1,
|
|
52
|
+
inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),
|
|
53
|
+
inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),
|
|
54
|
+
rates: cancellations.length !== availableRates.length
|
|
51
55
|
};
|
|
52
56
|
const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
53
57
|
className: [style.offset, style.gap]
|
|
54
58
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
55
59
|
action: isMobile,
|
|
56
60
|
bold: true
|
|
57
|
-
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), /*#__PURE__*/_react.default.createElement(
|
|
61
|
+
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), /*#__PURE__*/_react.default.createElement(has.inlineCancellations ? _ui.View : _react.default.Fragment, has.inlineCancellations ? {
|
|
58
62
|
row: true,
|
|
59
63
|
className: style.inlineOptions
|
|
60
64
|
} : undefined, cancellations.filter(_ref2 => {
|
|
@@ -76,7 +80,7 @@ const Rates = _ref => {
|
|
|
76
80
|
key: id,
|
|
77
81
|
caption: caption,
|
|
78
82
|
checked: id === cancellationId,
|
|
79
|
-
inline:
|
|
83
|
+
inline: has.inlineCancellations,
|
|
80
84
|
outlined: hideRadio,
|
|
81
85
|
title: name,
|
|
82
86
|
value: !showOffersFirst ? price : undefined,
|
|
@@ -128,11 +132,11 @@ const Rates = _ref => {
|
|
|
128
132
|
disabled: disabled,
|
|
129
133
|
outlined: hideRadio,
|
|
130
134
|
value: price,
|
|
131
|
-
onPress: rates.length >
|
|
135
|
+
onPress: rates.length > 0 ? () => onRate({
|
|
132
136
|
id,
|
|
133
137
|
cancellationId
|
|
134
138
|
}) : undefined
|
|
135
|
-
}, rates.length >
|
|
139
|
+
}, rates.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
136
140
|
row: true,
|
|
137
141
|
className: style.rateText
|
|
138
142
|
}, isClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -146,7 +150,7 @@ const Rates = _ref => {
|
|
|
146
150
|
}, translate(_Item.L10N.LABEL_DISCOUNT, {
|
|
147
151
|
value: "".concat(discountPercentage, "%")
|
|
148
152
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
149
|
-
bold:
|
|
153
|
+
bold: hideRadio,
|
|
150
154
|
action: !isMobile,
|
|
151
155
|
small: isMobile
|
|
152
156
|
}, name, !showRateIncluded && /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
|
|
@@ -158,7 +162,7 @@ const Rates = _ref => {
|
|
|
158
162
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
159
163
|
action: isMobile,
|
|
160
164
|
bold: true
|
|
161
|
-
}, translate(_Item.L10N.LABEL_ACCOMMODATION_PLAN)), /*#__PURE__*/_react.default.createElement(
|
|
165
|
+
}, translate(_Item.L10N.LABEL_ACCOMMODATION_PLAN)), /*#__PURE__*/_react.default.createElement(has.inlineBoards ? _ui.View : _react.default.Fragment, has.inlineBoards ? {
|
|
162
166
|
row: true,
|
|
163
167
|
className: style.inlineOptions
|
|
164
168
|
} : undefined, boards.map(function () {
|
|
@@ -174,7 +178,7 @@ const Rates = _ref => {
|
|
|
174
178
|
key: id,
|
|
175
179
|
checked: id === boardId,
|
|
176
180
|
disabled: disabled,
|
|
177
|
-
inline:
|
|
181
|
+
inline: has.inlineBoards,
|
|
178
182
|
outlined: hideRadio,
|
|
179
183
|
title: name,
|
|
180
184
|
value: has.boards ? increment : undefined,
|
|
@@ -198,6 +202,7 @@ const Rates = _ref => {
|
|
|
198
202
|
exports.Rates = Rates;
|
|
199
203
|
Rates.propTypes = {
|
|
200
204
|
availableBoards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
205
|
+
availableRates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
201
206
|
boards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
202
207
|
cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
203
208
|
features: _propTypes.default.shape({}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_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","availableBoards","boards","cancellations","features","hideRadio","rowMode","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","title","value","onPress","Pressable","Icon","ICON","INFO","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","arguments","rateText","small","rate","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","increment","variants","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n availableBoards = [],\n boards = [],\n cancellations = [],\n features: { hideRadio = false, rowMode = false, showOffersFirst = false, showRateIncluded = false } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n boards: boards.length > 1,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n hideRadio ? View : React.Fragment,\n hideRadio ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n highlight={highlight}\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={cancellations.length > 1 && cancellations.length <= 3}\n outlined={hideRadio}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 1 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text bold={rowMode} action={!isMobile} small={isMobile}>\n {name}\n {!showRateIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n hideRadio ? View : React.Fragment,\n hideRadio ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={boards.length > 1 && boards.length <= 3}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_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","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","rowMode","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","inlineBoards","inlineCancellations","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","title","value","onPress","Pressable","Icon","ICON","INFO","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","arguments","rateText","small","rate","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","increment","variants","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: { columnMode, hideRadio = false, rowMode, showOffersFirst = false, showRateIncluded = false } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n boards: boards.length > 1,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates: cancellations.length !== availableRates.length,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n highlight={highlight}\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text bold={hideRadio} action={!isMobile} small={isMobile}>\n {name}\n {!showRateIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAwC,SAAAU,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,SAAAH,wBAAAG,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;AAExC,MAAMC,KAAK,GAAGC,IAAA,IAYR;EAAA,IAZS;IACbC,eAAe,GAAG,EAAE;IACpBC,cAAc,GAAG,EAAE;IACnBC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,EAAE;MAAEC,UAAU;MAAEC,SAAS,GAAG,KAAK;MAAEC,OAAO;MAAEC,eAAe,GAAG,KAAK;MAAEC,gBAAgB,GAAG;IAAM,CAAC,GAAG,CAAC,CAAC;IAC5GC,KAAK,GAAG,EAAE;IACVC,aAAa,GAAG,CAAC,CAAC;IAClBC,OAAO;IACPC,cAAc;IACdC,MAAM;IACNC;EACF,CAAC,GAAAhB,IAAA;EACC,MAAM;IAAEiB;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,EAAE,EAAEC;EAAQ,CAAC,GAAGZ,aAAa;EAE7D,MAAM5B,GAAG,GAAG;IACVoB,aAAa,EAAEA,aAAa,CAACqB,MAAM,GAAG,CAAC;IACvCtB,MAAM,EAAEA,MAAM,CAACsB,MAAM,GAAG,CAAC;IACzBC,YAAY,EAAEnB,SAAS,IAAIJ,MAAM,CAACsB,MAAM,GAAG,CAAC,IAAItB,MAAM,CAACsB,MAAM,KAAKnB,UAAU,IAAIE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAChGmB,mBAAmB,EACjBpB,SAAS,IAAIH,aAAa,CAACqB,MAAM,GAAG,CAAC,IAAIrB,aAAa,CAACqB,MAAM,KAAKnB,UAAU,IAAIE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAClGG,KAAK,EAAEP,aAAa,CAACqB,MAAM,KAAKvB,cAAc,CAACuB;EACjD,CAAC;EAED,MAAMG,mBAAmB,GAAGA,CAAA,KAC1B5C,GAAG,CAACoB,aAAa,iBACfjC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IAACC,SAAS,EAAE,CAACzD,KAAK,CAAC0D,MAAM,EAAE1D,KAAK,CAAC2D,GAAG;EAAE,gBACzC9D,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;IAACC,MAAM,EAAElB,QAAS;IAACmB,IAAI;EAAA,GACzBjB,SAAS,CAACkB,UAAI,CAACC,yBAAyB,CACrC,CAAC,eAENC,cAAK,CAACV,aAAa,CAClB7C,GAAG,CAAC2C,mBAAmB,GAAGG,QAAI,GAAGS,cAAK,CAACC,QAAQ,EAC/CxD,GAAG,CAAC2C,mBAAmB,GAAG;IAAEc,GAAG,EAAE,IAAI;IAAEV,SAAS,EAAEzD,KAAK,CAACoE;EAAc,CAAC,GAAGC,SAAS,EACnFvC,aAAa,CACVwC,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEtB;IAAG,CAAC,GAAAsB,KAAA;IAAA,OAAK,CAACpC,eAAe,IAAKA,eAAe,IAAIc,EAAE,KAAKF,cAAe;EAAA,EAAC,CAClFyB,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,SAAS;MAAEzB,EAAE;MAAE0B,IAAI;MAAEC,OAAO;MAAEC,KAAK;MAAE,GAAGC;IAAa,CAAC,GAAAL,KAAA;IAAA,oBAC5D5E,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAiF,MAAM;MACLL,SAAS,EAAEA,SAAU;MACrBM,GAAG,EAAE/B,EAAG;MACR2B,OAAO,EAAEA,OAAQ;MACjBK,OAAO,EAAEhC,EAAE,KAAKF,cAAe;MAC/BmC,MAAM,EAAExE,GAAG,CAAC2C,mBAAoB;MAChC8B,QAAQ,EAAElD,SAAU;MACpBmD,KAAK,EAAET,IAAK;MACZU,KAAK,EAAE,CAAClD,eAAe,GAAG0C,KAAK,GAAGR,SAAU;MAC5CiB,OAAO,EAAEA,CAAA,KAAM9C,cAAc,CAACS,EAAE;IAAE,gBAElCpD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA6F,SAAS;MAACD,OAAO,EAAEA,CAAA,KAAM5C,UAAU,CAAC;QAAE,GAAGJ,aAAa;QAAEwC;MAAa,CAAC;IAAE,gBACvEjF,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8F,IAAI;MAAC3B,MAAM,EAAElB,QAAS;MAAC0C,KAAK,EAAEI,aAAI,CAACC;IAAK,CAAE,CAClC,CACL,CAAC;EAAA,CACV,CACL,CACI,CACP;EAEH,oBACE7F,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAA1D,MAAA,CAAAY,OAAA,CAAAyD,QAAA,QACG,CAAC/B,eAAe,IAAImB,mBAAmB,CAAC,CAAC,EAEzC5C,GAAG,CAAC2B,KAAK,iBACRxC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IAACC,SAAS,EAAE,CAACzD,KAAK,CAAC0D,MAAM,EAAE1D,KAAK,CAAC2D,GAAG;EAAE,gBACzC9D,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;IAACC,MAAM,EAAElB,QAAS;IAACmB,IAAI;EAAA,GACzBjB,SAAS,CAACkB,UAAI,CAAC4B,WAAW,CACvB,CAAC,EACNtD,KAAK,CAACmC,GAAG,CACRoB,KAAA;IAAA,IAAC;MACC3C,EAAE;MACFF,cAAc;MACd8C,SAAS;MACTC,QAAQ;MACRC,kBAAkB;MAClBC,QAAQ;MACRC,MAAM;MACNtB,IAAI;MACJE,KAAK;MACLqB;IACF,CAAC,GAAAN,KAAA;IAAA,oBACC/F,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAiF,MAAM;MACLC,GAAG,EAAE/B,EAAG;MACR2B,OAAO,eACL/E,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAqG,WAAW;QAERN,SAAS;QACTE,kBAAkB;QAClBC,QAAQ,EAAE5D,gBAAgB,GAAG4D,QAAQ,GAAG3B,SAAS;QACjD4B,MAAM;QACNC,YAAY;QACZ5D,aAAa,EACXA,aAAa,CAACU,MAAM,KAAKC,EAAE,GACvBX,aAAa,GACbX,eAAe,CAAC2C,MAAM,CAAC;UAAA,IAAC;YAAEtB;UAAO,CAAC,GAAAoD,SAAA,CAAAjD,MAAA,QAAAiD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;UAAA,OAAKpD,MAAM,KAAKC,EAAE;QAAA,EAAC,CAAC,CAAC;MAAC,CAEtE,CACF;MACDgC,OAAO,EAAEhC,EAAE,KAAKD,MAAO;MACvB8C,QAAQ,EAAEA,QAAS;MACnBX,QAAQ,EAAElD,SAAU;MACpBoD,KAAK,EAAER,KAAM;MACbS,OAAO,EAAEjD,KAAK,CAACc,MAAM,GAAG,CAAC,GAAG,MAAMV,MAAM,CAAC;QAAEQ,EAAE;QAAEF;MAAe,CAAC,CAAC,GAAGsB;IAAU,GAE5EhC,KAAK,CAACc,MAAM,GAAG,CAAC,iBACftD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;MAACW,GAAG;MAACV,SAAS,EAAEzD,KAAK,CAACqG;IAAS,GACjCJ,MAAM,iBACLpG,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;MAACC,MAAM,EAAE,CAAClB,QAAS;MAAC2D,KAAK,EAAE3D,QAAS;MAACc,SAAS,EAAE,CAACzD,KAAK,CAACuG,IAAI,EAAEvG,KAAK,CAAC0E,SAAS;IAAE,GAChF7B,SAAS,CAACkB,UAAI,CAACyC,kBAAkB,CAC9B,CACP,EAEAT,kBAAkB,iBACjBlG,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;MAACC,MAAM,EAAE,CAAClB,QAAS;MAAC2D,KAAK,EAAE3D,QAAS;MAACc,SAAS,EAAEzD,KAAK,CAACuG;IAAK,GAC7D1D,SAAS,CAACkB,UAAI,CAAC0C,cAAc,EAAE;MAAEpB,KAAK,KAAAqB,MAAA,CAAKX,kBAAkB;IAAI,CAAC,CAC/D,CACP,eAEDlG,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;MAACE,IAAI,EAAE7B,SAAU;MAAC4B,MAAM,EAAE,CAAClB,QAAS;MAAC2D,KAAK,EAAE3D;IAAS,GACvDgC,IAAI,EACJ,CAACvC,gBAAgB,iBAAIvC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAqG,WAAW;MAAOQ,SAAS,EAAE,IAAI;MAAEX;IAAQ,CAAK,CACnE,CACF,CAEF,CAAC;EAAA,CAEb,CACI,CACP,EAEA7D,eAAe,IAAImB,mBAAmB,CAAC,CAAC,EAExC,CAAC5C,GAAG,CAAC2B,KAAK,IAAI3B,GAAG,CAACmB,MAAM,kBACvBhC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IAACC,SAAS,EAAE,IAAAmD,UAAM,EAAC5G,KAAK,CAAC0D,MAAM,EAAE1D,KAAK,CAAC2D,GAAG;EAAE,gBAC/C9D,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAkE,IAAI;IAACC,MAAM,EAAElB,QAAS;IAACmB,IAAI;EAAA,GACzBjB,SAAS,CAACkB,UAAI,CAAC8C,wBAAwB,CACpC,CAAC,eAEN5C,cAAK,CAACV,aAAa,CAClB7C,GAAG,CAAC0C,YAAY,GAAGI,QAAI,GAAGS,cAAK,CAACC,QAAQ,EACxCxD,GAAG,CAAC0C,YAAY,GAAG;IAAEe,GAAG,EAAE,IAAI;IAAEV,SAAS,EAAEzD,KAAK,CAACoE;EAAc,CAAC,GAAGC,SAAS,EAC5ExC,MAAM,CAAC2C,GAAG,CAAC,YAAgB;IAAA,IAAfsC,KAAK,GAAAV,SAAA,CAAAjD,MAAA,QAAAiD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;IACpB,MAAM;MAAEN,QAAQ;MAAE7C,EAAE;MAAE8D,SAAS;MAAEpC,IAAI;MAAEqC,QAAQ,GAAG;IAAG,CAAC,GAAGF,KAAK;IAE9D,oBACEjH,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAiF,MAAM;MACLC,GAAG,EAAE/B,EAAG;MACRgC,OAAO,EAAEhC,EAAE,KAAKC,OAAQ;MACxB4C,QAAQ,EAAEA,QAAS;MACnBZ,MAAM,EAAExE,GAAG,CAAC0C,YAAa;MACzB+B,QAAQ,EAAElD,SAAU;MACpBmD,KAAK,EAAET,IAAK;MACZU,KAAK,EAAE3E,GAAG,CAACmB,MAAM,GAAGkF,SAAS,GAAG1C,SAAU;MAC1CiB,OAAO,EAAEA,CAAA,KAAM/C,OAAO,CAACuE,KAAK;IAAE,GAE7BE,QAAQ,CAAC7D,MAAM,GAAG,CAAC,iBAClBtD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAmH,YAAY;MACXC,QAAQ,EAAEF,QAAQ,CAACxC,GAAG,CAAC;QAAA,IAAC;UAAEG;QAAK,CAAC,GAAAyB,SAAA,CAAAjD,MAAA,QAAAiD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzB,IAAI;MAAA,EAAE;MAChDwC,MAAM,EAAEH,QAAQ,CAACxC,GAAG,CAAC;QAAA,IAAC;UAAEa;QAAM,CAAC,GAAAe,SAAA,CAAAjD,MAAA,QAAAiD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,IAAAgB,iBAAS,EAAC/B,KAAK,CAAC;MAAA;IAAE,CAC5D,CAEG,CAAC;EAEb,CAAC,CACH,CACI,CAER,CAAC;AAEP,CAAC;AAACgC,OAAA,CAAA5F,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC6F,SAAS,GAAG;EAChB3F,eAAe,EAAE4F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACjD7F,cAAc,EAAE2F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAChD5F,MAAM,EAAE0F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACxC3F,aAAa,EAAEyF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAC/C1F,QAAQ,EAAEwF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BrF,KAAK,EAAEkF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACvCnF,aAAa,EAAEiF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCnF,OAAO,EAAEgF,kBAAS,CAACI,IAAI;EACvBnF,cAAc,EAAE+E,kBAAS,CAACI,IAAI;EAC9BlF,MAAM,EAAE8E,kBAAS,CAACI,IAAI;EACtBC,QAAQ,EAAEL,kBAAS,CAACI,IAAI;EACxBjF,UAAU,EAAE6E,kBAAS,CAACI;AACxB,CAAC;AAEDlG,KAAK,CAACoG,WAAW,GAAG,6BAA6B"}
|
|
@@ -110,7 +110,7 @@ const Summary = _ref => {
|
|
|
110
110
|
value: price
|
|
111
111
|
})), price !== originalPrice && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
112
112
|
action: true,
|
|
113
|
-
|
|
113
|
+
light: true,
|
|
114
114
|
className: style.lineThrough
|
|
115
115
|
}, currencyFormat({
|
|
116
116
|
currency,
|
|
@@ -123,7 +123,7 @@ const Summary = _ref => {
|
|
|
123
123
|
currency,
|
|
124
124
|
value: dayPrice
|
|
125
125
|
}), " ").concat(translate(_Item.L10N.LABEL_PER_NIGHT))), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
126
|
-
|
|
126
|
+
light: true,
|
|
127
127
|
small: !isMobile,
|
|
128
128
|
tiny: isMobile
|
|
129
129
|
}, translate((0, _helpers.getLabelTaxes)(taxesType))), (discountPercentage > 0 || fees > 0 || taxes > 0) && /*#__PURE__*/_react.default.createElement(_components.PriceDetails, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","end","headline","level","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n breakdown,\n cancellationId,\n checkoutPrice,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n breakdown,\n cancellationId,\n checkoutPrice,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
|
|
@@ -99,6 +99,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
99
99
|
const props = {
|
|
100
100
|
...others,
|
|
101
101
|
availableBoards: boards,
|
|
102
|
+
availableRates: rates,
|
|
102
103
|
boards: showAllBoards ? boards.map(board => {
|
|
103
104
|
const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;
|
|
104
105
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","multiRoom","rates","selected","onSelect","others","selectedBoard","setSelectedBoard","useState","useEffect","id","cancellationId","rateId","nextBoard","find","board","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","roomId","props","availableBoards","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","bool","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n { boards = [], cancellations = [], features = {}, multiRoom, rates = [], selected, onSelect = () => {}, ...others },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n if (selectedBoard) return;\n\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => multiRoom && selected?.id === id && onSelect(undefined);\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id;\n\n const props = {\n ...others,\n availableBoards: boards,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card {...{ columnMode, rowMode }} disabled={isSoldOut} focus={selected && selected.id === id}>\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","multiRoom","rates","selected","onSelect","others","selectedBoard","setSelectedBoard","useState","useEffect","id","cancellationId","rateId","nextBoard","find","board","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","roomId","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","bool","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n { boards = [], cancellations = [], features = {}, multiRoom, rates = [], selected, onSelect = () => {}, ...others },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n if (selectedBoard) return;\n\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => multiRoom && selected?.id === id && onSelect(undefined);\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id;\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card {...{ columnMode, rowMode }} disabled={isSoldOut} focus={selected && selected.id === id}>\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|