@mirai/core 0.4.16 → 0.4.18
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/README.md +259 -90
- package/__tests__/BookingQuery/workflows/login.workflow.js +2 -2
- package/__tests__/Checkout/workflows/form.workflow.js +8 -8
- package/__tests__/Deals/__mocks__/deals-success.json +739 -0
- package/__tests__/checkout.spec.jsx +10 -0
- package/__tests__/deals.spec.js +7 -0
- package/build/components/BannerLoyalty/BannerLoyalty.js +70 -63
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +7 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.module.css +55 -30
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +27 -29
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +183 -186
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +61 -62
- package/build/components/Booking/Booking.module.css +3 -3
- package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
- package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +12 -12
- package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +25 -15
- package/build/components/Chat/Chat.module.css +0 -2
- package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +4 -4
- package/build/components/Checkout/Checkout.module.css +3 -3
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +20 -20
- package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
- package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +12 -12
- package/build/components/Finder/Finder.compact.js +20 -20
- package/build/components/Finder/Finder.compact.js.map +1 -1
- package/build/components/Finder/Finder.js +3 -3
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/Finder.module.css +30 -8
- package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +68 -42
- package/build/components/Finder/components/Calendar/Calendar.module.css +1 -1
- package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
- package/build/components/Finder/components/Places/Places.js +24 -6
- package/build/components/Finder/components/Places/Places.js.map +1 -1
- package/build/components/Finder/components/Places/Places.module.css +27 -2
- package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -9
- package/build/components/Finder/components/Places/helpers/calcColumns.js +1 -1
- package/build/components/Finder/components/Places/helpers/calcColumns.js.map +1 -1
- package/build/components/Header/Header.js +6 -4
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +3 -3
- package/build/components/Header/components/BookingProcess/BookingProcess.module.css +9 -5
- package/build/components/Rates/Rates.Header.js +8 -11
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +1 -1
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.Skeleton.js +2 -3
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +2 -1
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +13 -16
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +16 -7
- package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +1 -8
- package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +8042 -6319
- package/build/components/Rates/components/CardHotel/CardHotel.js +34 -13
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
- package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.module.css +19 -2
- package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +51 -35
- package/build/components/Rates/components/Filters/Filters.Button.js +3 -4
- package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +2 -1
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.module.css +23 -1
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +25 -9
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +8 -5
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +31 -2
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +4 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +1 -1
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +1 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +2 -9
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.module.css +3 -7
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +5 -5
- package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +2 -2
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +2 -15
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +3 -7
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +6 -6
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +6 -4
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.module.css +4 -0
- package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +4 -4
- package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -1
- package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +1 -1
- package/build/components/Signup/Signup.module.css +1 -1
- package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +6 -6
- package/build/components/__shared__/BookingSummary/BookingSummary.module.css +3 -3
- package/build/components/__shared__/Card/Card.module.css +16 -15
- package/build/components/__shared__/Field/Field.js +3 -1
- package/build/components/__shared__/Field/Field.js.map +1 -1
- package/build/components/__shared__/Field/Field.module.css +11 -1
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -6
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
- package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +18 -17
- package/build/components/__shared__/FieldPromocode/FieldPromocode.js +6 -3
- package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
- package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +8 -8
- package/build/components/__shared__/Occupation/Occupation.js +6 -4
- package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.module.css +11 -11
- package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +44 -44
- package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +10 -10
- package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +12 -12
- package/build/components/__shared__/PriceBreakdown/PriceBreakdown.module.css +3 -3
- package/build/components/helpers/ICON.AMENITIES.js +2 -2
- package/build/components/helpers/ICON.AMENITIES.js.map +1 -1
- package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +8 -8
- package/build/components/index.js +0 -2
- package/build/components/index.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +11 -4
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js +4 -3
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js +2 -1
- package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js +12 -5
- package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js.map +1 -1
- package/build/helpers/consolidateStore.js +4 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/theme.css +44 -5
- package/package.json +1 -1
- package/public/performance/index.html +159 -0
- package/build/components/Chat/Chat.theme.module.css +0 -49
- package/build/components/__shared__/FieldOccupation/FieldOccupation.module.css +0 -5
|
@@ -81,6 +81,10 @@
|
|
|
81
81
|
max-height: var(--mirai-modal-max-height);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
.button {
|
|
85
|
+
margin-left: var(--mirai-ui-space-S);
|
|
86
|
+
}
|
|
87
|
+
|
|
84
88
|
.section [data-role='input-option'] {
|
|
85
89
|
width: 90%;
|
|
86
90
|
}
|
|
@@ -88,13 +92,17 @@
|
|
|
88
92
|
|
|
89
93
|
/* M & L */
|
|
90
94
|
@media only screen and (min-width: 481px) {
|
|
95
|
+
.button {
|
|
96
|
+
position: absolute;
|
|
97
|
+
right: 0;
|
|
98
|
+
}
|
|
99
|
+
|
|
91
100
|
.button:hover .counter {
|
|
92
101
|
background-color: var(--mirai-ui-accent-dark);
|
|
93
102
|
}
|
|
94
103
|
|
|
95
104
|
.modal {
|
|
96
105
|
max-height: 90svh;
|
|
97
|
-
width: 768px;
|
|
98
106
|
}
|
|
99
107
|
|
|
100
108
|
.section .amenities [data-role='input-option'] {
|
|
@@ -109,3 +117,17 @@
|
|
|
109
117
|
padding: var(--mirai-ui-space-L) var(--mirai-ui-space-M);
|
|
110
118
|
}
|
|
111
119
|
}
|
|
120
|
+
|
|
121
|
+
/* M & L */
|
|
122
|
+
@media only screen and (min-width: 481px) and (max-width: 1179px) {
|
|
123
|
+
.modal {
|
|
124
|
+
max-width: calc(var(--mirai-ui-breakpoint-content) / 2);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* M & L */
|
|
129
|
+
@media only screen and (min-width: 1180px) {
|
|
130
|
+
.modal {
|
|
131
|
+
max-width: calc(var(--mirai-ui-breakpoint-content) / 1.5);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
@@ -43,12 +43,12 @@ const Preview = _ref => {
|
|
|
43
43
|
selectedBoard = {},
|
|
44
44
|
onCancellationInfo,
|
|
45
45
|
onMoreInfo,
|
|
46
|
+
onOfferInfo = () => {},
|
|
46
47
|
onViewUrl = () => {},
|
|
47
48
|
...others
|
|
48
49
|
} = _ref;
|
|
49
50
|
const {
|
|
50
51
|
height,
|
|
51
|
-
isDesktop,
|
|
52
52
|
isMobile,
|
|
53
53
|
isPortrait,
|
|
54
54
|
isTablet,
|
|
@@ -72,8 +72,8 @@ const Preview = _ref => {
|
|
|
72
72
|
const {
|
|
73
73
|
clientWidth
|
|
74
74
|
} = ref.current || {};
|
|
75
|
-
if (clientWidth) memoizedWidth = clientWidth - (isTablet
|
|
76
|
-
}, [
|
|
75
|
+
if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);
|
|
76
|
+
}, [isTablet, width]);
|
|
77
77
|
const handleSliderCounter = () => {
|
|
78
78
|
onMoreInfo && onMoreInfo();
|
|
79
79
|
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
@@ -86,17 +86,20 @@ const Preview = _ref => {
|
|
|
86
86
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
87
87
|
return countdown > 0;
|
|
88
88
|
});
|
|
89
|
-
const [
|
|
89
|
+
const [firstRate = {}] = availableRates;
|
|
90
|
+
const [uniqueRate] = cancellations.length === availableRates.length && (!countdownRates.length || availableRates.filter(function () {
|
|
90
91
|
let {
|
|
91
92
|
countdown
|
|
92
93
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
93
94
|
return countdown > 0;
|
|
94
|
-
}).length === availableRates.length) &&
|
|
95
|
+
}).length === availableRates.length) && availableRates.filter(function () {
|
|
95
96
|
let {
|
|
96
|
-
description
|
|
97
|
+
description,
|
|
98
|
+
included,
|
|
99
|
+
name
|
|
97
100
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
98
|
-
return
|
|
99
|
-
}) && !highlightStandaloneOption ? rates : [];
|
|
101
|
+
return firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
|
|
102
|
+
}).length === availableRates.length && !highlightStandaloneOption ? rates : [];
|
|
100
103
|
const [uniqueBoard] = boards.length === 1 && availableBoards.filter(function () {
|
|
101
104
|
let {
|
|
102
105
|
name
|
|
@@ -163,7 +166,19 @@ const Preview = _ref => {
|
|
|
163
166
|
}, title), !isMobile && /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
|
|
164
167
|
highlight: true,
|
|
165
168
|
preview: true
|
|
166
|
-
}, others)), uniqueRate && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, uniqueRate.
|
|
169
|
+
}, others)), uniqueRate && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, uniqueRate.description && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
170
|
+
action: !isMobile,
|
|
171
|
+
small: isMobile,
|
|
172
|
+
className: [style.optionText, style.standalone]
|
|
173
|
+
}, uniqueRate.name, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
174
|
+
onPress: () => onOfferInfo({
|
|
175
|
+
...uniqueRate,
|
|
176
|
+
availableBoards
|
|
177
|
+
})
|
|
178
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
179
|
+
paragraph: true,
|
|
180
|
+
value: _helpers.ICON.INFO
|
|
181
|
+
}))), uniqueRate.countdown && /*#__PURE__*/_react.default.createElement(_components.Countdown, {
|
|
167
182
|
offer: true,
|
|
168
183
|
timestamp: uniqueRate.countdown
|
|
169
184
|
}), uniqueRate.included.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -259,6 +274,7 @@ Preview.propTypes = {
|
|
|
259
274
|
selectedBoard: _propTypes.default.shape({}),
|
|
260
275
|
onCancellationInfo: _propTypes.default.func,
|
|
261
276
|
onMoreInfo: _propTypes.default.func,
|
|
277
|
+
onOfferInfo: _propTypes.default.func,
|
|
262
278
|
onViewUrl: _propTypes.default.func
|
|
263
279
|
};
|
|
264
280
|
//# sourceMappingURL=Item.Preview.js.map
|
|
@@ -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","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","promocodeForAll","rates","selectedBoard","onCancellationInfo","onMoreInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","promocode","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","id","countdownRates","filter","countdown","undefined","uniqueRate","find","description","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","roomId","onCounter","slider","row","tags","Text","bold","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","Countdown","offer","timestamp","included","item","index","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","paragraph","INFO","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","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 { Event, 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, Countdown, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\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: { finder: { promocode } = {}, 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 handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n\n const [uniqueRate] =\n cancellations.length === availableRates.length &&\n (countdownRates === 0 ||\n availableRates.filter(({ countdown } = {}) => countdown > 0).length === availableRates.length) &&\n !availableRates.find(({ description } = {}) => !!description) &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\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={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n roomId={others.id}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\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 brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.countdown && <Countdown offer timestamp={uniqueRate.countdown} />}\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 </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\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 {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph 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?.restrictions.map(({ variableOffer, 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 {variableOffer && 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 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 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 columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\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 promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onCancellationInfo: PropTypes.func,\n onMoreInfo: 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","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","promocodeForAll","rates","selectedBoard","onCancellationInfo","onMoreInfo","onOfferInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","promocode","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","id","countdownRates","filter","countdown","undefined","firstRate","uniqueRate","description","included","JSON","stringify","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","roomId","onCounter","slider","row","tags","Text","bold","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","optionText","standalone","Pressable","onPress","paragraph","INFO","Countdown","offer","timestamp","item","index","AMENITY","TooltipDates","captions","values","parseDate","cancellation","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","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 { Event, 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, Countdown, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\n onOfferInfo = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { promocode } = {}, hotel: { warningAvailability = 9999 } = {} } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const [firstRate = {}] = availableRates;\n\n const [uniqueRate] =\n cancellations.length === availableRates.length &&\n (!countdownRates.length ||\n availableRates.filter(({ countdown } = {}) => countdown > 0).length === availableRates.length) &&\n availableRates.filter(\n ({ description, included, name } = {}) =>\n firstRate.description === description &&\n firstRate.name === name &&\n JSON.stringify(firstRate.included) === JSON.stringify(included),\n ).length === availableRates.length &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\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={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n roomId={others.id}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\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 brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.description && (\n <Text action={!isMobile} small={isMobile} className={[style.optionText, style.standalone]}>\n {uniqueRate.name}\n <Pressable onPress={() => onOfferInfo({ ...uniqueRate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n )}\n {uniqueRate.countdown && <Countdown offer timestamp={uniqueRate.countdown} />}\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 </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\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 {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph 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?.restrictions.map(({ variableOffer, 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 {variableOffer && 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 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 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 columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\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 promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAA+C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE/C,MAAMK,UAAU,GAAG,CAAC;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,IAAIC,aAAa,GAAG,GAAG;AAEvB,MAAMC,OAAO,GAAGC,IAAA,IAyBV;EAAA,IAzBW;IACfC,YAAY,GAAG,CAAC;IAChBC,eAAe,GAAG,EAAE;IACpBC,cAAc,GAAG,EAAE;IACnBC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,EAAE;MACRC,UAAU,GAAG,KAAK;MAClBC,mBAAmB,GAAG,KAAK;MAC3BC,yBAAyB,GAAG,KAAK;MACjCC,OAAO,GAAG,KAAK;MACf,GAAGJ;IACL,CAAC,GAAG,CAAC,CAAC;IACNK,MAAM,GAAG,EAAE;IACXC,SAAS,GAAG,KAAK;IACjBC,KAAK;IACLC,IAAI,EAAEC,KAAK;IACXC,eAAe;IACfC,KAAK,GAAG,EAAE;IACVC,aAAa,GAAG,CAAC,CAAC;IAClBC,kBAAkB;IAClBC,UAAU;IACVC,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAC;IACtBC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IACpB,GAAGC;EACL,CAAC,GAAAvB,IAAA;EACC,MAAM;IAAEwB,MAAM;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IAAEC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC;MAAU,CAAC,GAAG,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,mBAAmB,GAAG;MAAK,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE7G,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC;IAAY,CAAC,GAAGT,GAAG,CAACU,OAAO,IAAI,CAAC,CAAC;IACzC,IAAID,WAAW,EAAE3C,aAAa,GAAG2C,WAAW,IAAId,QAAQ,GAAG/B,UAAU,GAAGC,cAAc,CAAC;EACzF,CAAC,EAAE,CAAC8B,QAAQ,EAAEC,KAAK,CAAC,CAAC;EAErB,MAAMe,mBAAmB,GAAGA,CAAA,KAAM;IAChCvB,UAAU,IAAIA,UAAU,CAAC,CAAC;IAC1BwB,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,EAAE;IAA4B,CAAC,CAAC;EACnE,CAAC;EAED,MAAMC,cAAc,GAAG9C,cAAc,CAAC+C,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAU,CAAC,GAAA5D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK4D,SAAS,GAAG,CAAC;EAAA,EAAC;EACnF,MAAM,CAACE,SAAS,GAAG,CAAC,CAAC,CAAC,GAAGlD,cAAc;EAEvC,MAAM,CAACmD,UAAU,CAAC,GAChBjD,aAAa,CAACb,MAAM,KAAKW,cAAc,CAACX,MAAM,KAC7C,CAACyD,cAAc,CAACzD,MAAM,IACrBW,cAAc,CAAC+C,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAU,CAAC,GAAA5D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK4D,SAAS,GAAG,CAAC;EAAA,EAAC,CAAC3D,MAAM,KAAKW,cAAc,CAACX,MAAM,CAAC,IAChGW,cAAc,CAAC+C,MAAM,CACnB;IAAA,IAAC;MAAEK,WAAW;MAAEC,QAAQ;MAAE1C;IAAK,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,OACnC8D,SAAS,CAACE,WAAW,KAAKA,WAAW,IACrCF,SAAS,CAACvC,IAAI,KAAKA,IAAI,IACvB2C,IAAI,CAACC,SAAS,CAACL,SAAS,CAACG,QAAQ,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACF,QAAQ,CAAC;EAAA,CACnE,CAAC,CAAChE,MAAM,KAAKW,cAAc,CAACX,MAAM,IAClC,CAACiB,yBAAyB,GACtBQ,KAAK,GACL,EAAE;EAER,MAAM,CAAC0C,WAAW,CAAC,GACjBvD,MAAM,CAACZ,MAAM,KAAK,CAAC,IACnBU,eAAe,CAACgD,MAAM,CAAC;IAAA,IAAC;MAAEpC;IAAK,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKuB,IAAI,KAAKZ,eAAe,CAAC,CAAC,CAAC,CAACY,IAAI;EAAA,EAAC,CAACtB,MAAM,KAAKU,eAAe,CAACV,MAAM,GACzGY,MAAM,GACN,EAAE;EAER,MAAMwD,OAAO,GAAG;IAAEC,UAAU,EAAE,IAAI;IAAEC,MAAM,EAAE,CAACrC,QAAQ;IAAEsC,KAAK,EAAEtC;EAAS,CAAC;EACxE,MAAM;IAAEuC,UAAU;IAAEC,QAAQ,GAAG;EAAG,CAAC,GAAG/C,aAAa;EAEnD,oBACE3D,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACnC,GAAG,EAAEA,GAAI;IAACoC,SAAS,EAAEzG,KAAK,CAAC0G;EAAQ,gBACvC9G,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAA6G,MAAM;IACL9C,MAAM,EAAEjB,UAAU,IAAIG,OAAO,GAAGc,MAAM,IAAIE,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI;IACpEf,MAAM,EAAEA,MAAM,CAAC4D,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC;MAAM,CAAC,GAAAD,KAAA;MAAA,OAAKC,KAAK;IAAA,EAAE;IACzC5D,KAAK,EAAEA,KAAM;IACb6D,MAAM,EAAEnD,MAAM,CAACyB,EAAG;IAClBjC,KAAK,EAAEA,KAAM;IACba,KAAK,EAAE9B,aAAc;IACrB6E,SAAS,EAAE,CAAClD,QAAQ,GAAGkB,mBAAmB,GAAGS,SAAU;IACvD9B,SAAS,EAAEA,SAAU;IACrB8C,SAAS,EAAEzG,KAAK,CAACiH;EAAO,CACzB,CAAC,eAEFrH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACU,GAAG;IAACT,SAAS,EAAEzG,KAAK,CAACmH;EAAK,GAC7B1C,SAAS,IAAIpB,eAAe,iBAC3BzD,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI;IAACC,IAAI;IAACjB,KAAK;EAAA,gBACdxG,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA6H,IAAI;IAACnB,MAAM;IAAC5B,KAAK,EAAEgD,aAAI,CAACC;EAAS,CAAE,CAAC,EACpC/C,SAAS,CAACgD,WAAW,CAAC,CACnB,CAEJ,CAAC,eAEP7H,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACU,GAAG;IAACT,SAAS,EAAE,CAACzG,KAAK,CAAC0H,MAAM,EAAE1H,KAAK,CAAC2H,YAAY,EAAE3H,KAAK,CAAC4H,OAAO;EAAE,gBACrEhI,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAA+H,QAAQ,EAAArG,QAAA;IAAOmB;EAAQ,GAAKiB,MAAM,CAAK,CAAC,EAExCX,SAAS,KAAK,KAAK,IAAIX,YAAY,IAAIqC,mBAAmB,iBACzD/E,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI;IAACC,IAAI;IAACS,KAAK;IAAC1B,KAAK;EAAA,GACnBjC,SAAS,CAAC4D,UAAI,CAACC,qBAAqB,EAAE;IAAEC,MAAM,EAAE3F;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEP1C,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACC,SAAS,EAAE,CAACzG,KAAK,CAAC0H,MAAM,EAAE1H,KAAK,CAACkI,GAAG,CAAE;IAAClI,KAAK,EAAE;MAAEmI,IAAI,EAAE;IAAE;EAAE,gBAC7DvI,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI;IAACC,IAAI;IAACe,KAAK;IAACC,QAAQ,EAAE,CAACvE,QAAS;IAACwE,KAAK,EAAE;EAAE,GAC5ClF,KACG,CAAC,EAEN,CAACU,QAAQ,iBAAIlE,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAAyI,SAAS,EAAA/G,QAAA;IAACgH,SAAS;IAAC9B,OAAO;EAAA,GAAK9C,MAAM,CAAG,CAAC,EAExD+B,UAAU,iBACT/F,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAA3G,MAAA,CAAAY,OAAA,CAAAiI,QAAA,QACG9C,UAAU,CAACC,WAAW,iBACrBhG,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI;IAACjB,MAAM,EAAE,CAACrC,QAAS;IAACsC,KAAK,EAAEtC,QAAS;IAAC2C,SAAS,EAAE,CAACzG,KAAK,CAAC0I,UAAU,EAAE1I,KAAK,CAAC2I,UAAU;EAAE,GACvFhD,UAAU,CAACxC,IAAI,eAChBvD,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAAmJ,SAAS;IAACC,OAAO,EAAEA,CAAA,KAAMnF,WAAW,CAAC;MAAE,GAAGiC,UAAU;MAAEpD;IAAgB,CAAC;EAAE,gBACxE3C,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA6H,IAAI;IAACwB,SAAS;IAACvE,KAAK,EAAEgD,aAAI,CAACwB;EAAK,CAAE,CAC1B,CACP,CACP,EACApD,UAAU,CAACH,SAAS,iBAAI5F,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAAkJ,SAAS;IAACC,KAAK;IAACC,SAAS,EAAEvD,UAAU,CAACH;EAAU,CAAE,CAAC,EAC5EG,UAAU,CAACE,QAAQ,CAACe,GAAG,CAAC,CAACuC,IAAI,EAAEC,KAAK,kBACnCxJ,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACzE,GAAG,EAAEqH,KAAM;IAAClC,GAAG;IAACT,SAAS,EAAEzG,KAAK,CAACkH;EAAI,gBACzCtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA6H,IAAI;IAAC/C,KAAK,EAAEgD,aAAI,CAAC8B;EAAQ,CAAE,CAAC,eAC7BzJ,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI,EAAKnB,OAAO,EAAGkD,IAAW,CAC3B,CACP,CACD,CACH,EAEAnD,WAAW,IAAI,CAACnD,mBAAmB,IAAI,CAACC,yBAAyB,iBAChElD,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACU,GAAG;IAACT,SAAS,EAAEzG,KAAK,CAACkH;EAAI,gBAC7BtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI,EAAKnB,OAAO,EAAGxD,MAAM,CAAC,CAAC,CAAC,CAACU,IAAW,CAAC,EACzCmD,QAAQ,CAACzE,MAAM,GAAG,CAAC,iBAClBjC,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAAwJ,YAAY;IACXC,QAAQ,EAAEjD,QAAQ,CAACM,GAAG,CAAC;MAAA,IAAC;QAAEzD;MAAK,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKuB,IAAI;IAAA,EAAE;IAChDqG,MAAM,EAAElD,QAAQ,CAACM,GAAG,CAAC;MAAA,IAAC;QAAErC;MAAM,CAAC,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,IAAA6H,iBAAS,EAAClF,KAAK,CAAC;IAAA;EAAE,CAC5D,CAEC,CACP,EAEA7B,aAAa,CAACb,MAAM,KAAK,CAAC,IAAI,CAACiB,yBAAyB,iBACvDlD,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI,qBACH5G,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACU,GAAG;EAAA,gBACPtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAAmJ,SAAS;IACRC,OAAO,EAAEA,CAAA,KAAMrF,kBAAkB,CAAC;MAAE,GAAGD,aAAa;MAAEmG,YAAY,EAAEhH,aAAa,CAAC,CAAC;IAAE,CAAC,CAAE;IACxF+D,SAAS,EAAEzG,KAAK,CAACkH;EAAI,gBAErBtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI,EAAKnB,OAAO,EAAGvD,aAAa,CAAC,CAAC,CAAC,CAACS,IAAW,CAAC,eACjDvD,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA6H,IAAI;IAACwB,SAAS;IAACvE,KAAK,EAAEgD,aAAI,CAACwB;EAAK,CAAE,CAC1B,CACP,CAAC,EACNrG,aAAa,CAAC,CAAC,CAAC,CAACuD,OAAO,iBACvBrG,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI;IAACuC,KAAK;IAACvD,KAAK;EAAA,GACd1D,aAAa,CAAC,CAAC,CAAC,CAACuD,OACd,CAEJ,CACP,EAEAN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiE,YAAY,CAAChD,GAAG,CAAC;IAAA,IAAC;MAAEiD,aAAa;MAAEtF;IAAM,CAAC,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEwH,KAAK,GAAAxH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA6D,SAAA;IAAA,oBACjE7F,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;MAACzE,GAAG,EAAEqH,KAAM;MAAClC,GAAG;MAACT,SAAS,EAAEzG,KAAK,CAACkH;IAAI,gBACzCtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA6H,IAAI;MAACwC,OAAO;MAACvF,KAAK,EAAEgD,aAAI,CAACwC;IAAQ,CAAE,CAAC,eACrCnK,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA2H,IAAI,EAAA5F,QAAA;MAACsI,OAAO;IAAA,GAAK7D,OAAO,GACtB1B,KACG,CAAC,EACNsF,aAAa,IAAIxD,UAAU,CAACxE,MAAM,GAAG,CAAC,iBACrCjC,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAACzG,WAAA,CAAAwJ,YAAY;MACXC,QAAQ,EAAElD,UAAU,CAACO,GAAG,CAAC,MAAMzC,SAAS,CAAC4D,UAAI,CAACiC,cAAc,CAAC,CAAE;MAC/DR,MAAM,EAAEnD,UAAU,CAACO,GAAG,CAAEqD,IAAI,IAAK,IAAAR,iBAAS,EAACQ,IAAI,CAAC,CAAE;MAClDH,OAAO;IAAA,CACR,CAEC,CAAC;EAAA,CACR,CAAC,eAEFlK,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAA+G,IAAI;IAACU,GAAG;EAAA,gBACPtH,MAAA,CAAAY,OAAA,CAAA+F,aAAA,CAAC9G,GAAA,CAAAyK,MAAM;IAAC9D,KAAK,EAAEtC,QAAS;IAAC+E,OAAO,EAAEpF;EAAW,GAC1CU,SAAS,CAAC4D,UAAI,CAACoC,gBAAgB,CAC1B,CACJ,CACF,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAhI,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACiI,WAAW,GAAG,+BAA+B;AAErDjI,OAAO,CAACkI,SAAS,GAAG;EAClBhI,YAAY,EAAEiI,kBAAS,CAACC,MAAM;EAC9BjI,eAAe,EAAEgI,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACjDlI,cAAc,EAAE+H,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EAChDjI,MAAM,EAAE8H,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACxChI,aAAa,EAAE6H,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EAC/C/H,QAAQ,EAAE4H,kBAAS,CAACI,KAAK,CAAC;IACxB/H,UAAU,EAAE2H,kBAAS,CAACK,IAAI;IAC1B/H,mBAAmB,EAAE0H,kBAAS,CAACK,IAAI;IACnC9H,yBAAyB,EAAEyH,kBAAS,CAACK,IAAI;IACzC7H,OAAO,EAAEwH,kBAAS,CAACK;EACrB,CAAC,CAAC;EACF5H,MAAM,EAAEuH,kBAAS,CAACE,OAAO,CACvBF,kBAAS,CAACI,KAAK,CAAC;IACdE,GAAG,EAAEN,kBAAS,CAACO,MAAM;IACrBhE,KAAK,EAAEyD,kBAAS,CAACO,MAAM;IACvBC,SAAS,EAAER,kBAAS,CAACO;EACvB,CAAC,CACH,CAAC;EACD7H,SAAS,EAAEsH,kBAAS,CAACK,IAAI;EACzB1H,KAAK,EAAEqH,kBAAS,CAACI,KAAK,CAAC;IACrBK,KAAK,EAAET,kBAAS,CAACO,MAAM;IACvBG,QAAQ,EAAEV,kBAAS,CAACO;EACtB,CAAC,CAAC;EACF3H,IAAI,EAAEoH,kBAAS,CAACO,MAAM;EACtBzH,eAAe,EAAEkH,kBAAS,CAACK,IAAI;EAC/BtH,KAAK,EAAEiH,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,GAAG,CAAC;EACvCnH,aAAa,EAAEgH,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCnH,kBAAkB,EAAE+G,kBAAS,CAACW,IAAI;EAClCzH,UAAU,EAAE8G,kBAAS,CAACW,IAAI;EAC1BxH,WAAW,EAAE6G,kBAAS,CAACW,IAAI;EAC3BvH,SAAS,EAAE4G,kBAAS,CAACW;AACvB,CAAC"}
|
|
@@ -65,6 +65,7 @@ const Rates = _ref => {
|
|
|
65
65
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
66
66
|
return countdown > 0;
|
|
67
67
|
});
|
|
68
|
+
const [firstRate = {}] = availableRates;
|
|
68
69
|
const has = {
|
|
69
70
|
cancellations: cancellations.length > 1 || highlightStandaloneOption,
|
|
70
71
|
boards: boards.length > 1 || availableBoards.filter(function () {
|
|
@@ -75,12 +76,14 @@ const Rates = _ref => {
|
|
|
75
76
|
}).length !== availableBoards.length || highlightStandaloneOption,
|
|
76
77
|
inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),
|
|
77
78
|
inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),
|
|
78
|
-
rates: cancellations.length !== availableRates.length || countdownRates.length > 0 && countdownRates.length !== availableRates.length || availableRates.
|
|
79
|
+
rates: cancellations.length !== availableRates.length || countdownRates.length > 0 && countdownRates.length !== availableRates.length || availableRates.filter(function () {
|
|
79
80
|
let {
|
|
80
|
-
description
|
|
81
|
+
description,
|
|
82
|
+
included,
|
|
83
|
+
name
|
|
81
84
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
82
|
-
return
|
|
83
|
-
}) || highlightStandaloneOption
|
|
85
|
+
return !description || firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
|
|
86
|
+
}).length !== availableRates.length || highlightStandaloneOption
|
|
84
87
|
};
|
|
85
88
|
const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
86
89
|
className: [style.offset, style.gap]
|
|
@@ -94,7 +97,7 @@ const Rates = _ref => {
|
|
|
94
97
|
let {
|
|
95
98
|
id
|
|
96
99
|
} = _ref2;
|
|
97
|
-
return !showOffersFirst || showOffersFirst && id === cancellationId;
|
|
100
|
+
return !showOffersFirst || showOffersFirst && (id === cancellationId || !has.rates);
|
|
98
101
|
}).map(_ref3 => {
|
|
99
102
|
let {
|
|
100
103
|
highlight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_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","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","countdownRates","filter","countdown","arguments","length","undefined","name","inlineBoards","inlineCancellations","find","description","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","disabled","included","restrictions","rate","board","confidential","discount","breakdown","percentage","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","discountPercentage","RateDetails","tags","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { 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';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n boards.length > 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !== availableBoards.length ||\n highlightStandaloneOption,\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:\n cancellations.length !== availableRates.length ||\n (countdownRates.length > 0 && countdownRates.length !== availableRates.length) ||\n availableRates.find(({ description } = {}) => !!description) ||\n highlightStandaloneOption,\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 key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\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 ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [], percentage } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const discountPercentage = (isPromocode && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {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 / priceFactor : 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 <View />\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 columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: 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":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_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","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","countdownRates","filter","countdown","arguments","length","undefined","firstRate","name","inlineBoards","inlineCancellations","description","included","JSON","stringify","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","disabled","restrictions","rate","find","board","confidential","discount","breakdown","percentage","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","discountPercentage","RateDetails","tags","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { 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';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const [firstRate = {}] = availableRates;\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n boards.length > 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !== availableBoards.length ||\n highlightStandaloneOption,\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:\n cancellations.length !== availableRates.length ||\n (countdownRates.length > 0 && countdownRates.length !== availableRates.length) ||\n availableRates.filter(\n ({ description, included, name } = {}) =>\n !description ||\n (firstRate.description === description &&\n firstRate.name === name &&\n JSON.stringify(firstRate.included) === JSON.stringify(included)),\n ).length !== availableRates.length ||\n highlightStandaloneOption,\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 || !has.rates)))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\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 ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [], percentage } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const discountPercentage = (isPromocode && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {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 / priceFactor : 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 <View />\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 columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Item = void 0;
|
|
7
7
|
var _dataSources = require("@mirai/data-sources");
|
|
8
|
+
var _locale = require("@mirai/locale");
|
|
8
9
|
var _ui = require("@mirai/ui");
|
|
9
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -14,6 +15,7 @@ var _Item2 = require("./Item.Rates");
|
|
|
14
15
|
var _Item3 = require("./Item.Summary");
|
|
15
16
|
var _shared__ = require("../../../__shared__");
|
|
16
17
|
var _helpers = require("../../../helpers");
|
|
18
|
+
var _helpers2 = require("../../helpers");
|
|
17
19
|
var _Rates = require("../../Rates.constants");
|
|
18
20
|
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
21
|
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; }
|
|
@@ -28,12 +30,15 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
28
30
|
metaBoard,
|
|
29
31
|
multiRoom,
|
|
30
32
|
priceFactor = 1,
|
|
31
|
-
rates = [],
|
|
33
|
+
rates: propRates = [],
|
|
32
34
|
selected,
|
|
33
35
|
onPreview,
|
|
34
36
|
onSelect = () => {},
|
|
35
37
|
...others
|
|
36
38
|
} = _ref;
|
|
39
|
+
const {
|
|
40
|
+
translate
|
|
41
|
+
} = (0, _locale.useLocale)();
|
|
37
42
|
const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
|
|
38
43
|
const [touched, setTouched] = (0, _react.useState)(false);
|
|
39
44
|
(0, _react.useEffect)(() => {
|
|
@@ -46,7 +51,12 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
46
51
|
}, [boards]);
|
|
47
52
|
(0, _react.useEffect)(() => {
|
|
48
53
|
if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;
|
|
49
|
-
setSelectedBoard(
|
|
54
|
+
setSelectedBoard(boards.find(function () {
|
|
55
|
+
let {
|
|
56
|
+
id
|
|
57
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
58
|
+
return id === metaBoard.id;
|
|
59
|
+
}));
|
|
50
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
61
|
}, [metaBoard]);
|
|
52
62
|
(0, _react.useEffect)(() => {
|
|
@@ -130,6 +140,25 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
130
140
|
rateId
|
|
131
141
|
} = selectedBoard || {};
|
|
132
142
|
const cancellationPrice = findPrice(cancellationId, cancellations);
|
|
143
|
+
const rates = propRates.map(function () {
|
|
144
|
+
let {
|
|
145
|
+
included = [],
|
|
146
|
+
...rate
|
|
147
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
148
|
+
const clubInclude = (0, _helpers2.getClubInclude)((0, _helpers2.getClubRate)({
|
|
149
|
+
board: boards.filter(function () {
|
|
150
|
+
let {
|
|
151
|
+
rateId
|
|
152
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
153
|
+
return rateId === rate.id;
|
|
154
|
+
})[0],
|
|
155
|
+
rate
|
|
156
|
+
}));
|
|
157
|
+
return {
|
|
158
|
+
...rate,
|
|
159
|
+
included: clubInclude ? [...included, translate(clubInclude)] : included
|
|
160
|
+
};
|
|
161
|
+
});
|
|
133
162
|
const ratePrice = findPrice(rateId, rates);
|
|
134
163
|
const visibleBoards = boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId);
|
|
135
164
|
const isSoldOut = others.soldOut && (rates.length === 0 || Object.values(others.cart || {}).filter(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_Rates","_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","filters","metaBoard","multiRoom","priceFactor","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","promocodeForAll","every","confidential","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","_ref5","DEAL","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { 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__';\nimport { EVENT } from '../../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\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 updateSelectedBoard = () => {\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 };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\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 (rates.length === 0 ||\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 priceFactor,\n promocodeForAll: boards.every(\n ({ confidential, discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential),\n ),\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\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\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 filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n roomId: PropTypes.number,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_helpers2","_Rates","_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","filters","metaBoard","multiRoom","priceFactor","rates","propRates","selected","onPreview","onSelect","others","translate","useLocale","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","find","undefined","roomName","name","nextBoard","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","map","included","rate","clubInclude","getClubInclude","getClubRate","filter","ratePrice","visibleBoards","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","promocodeForAll","every","confidential","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","_ref5","DEAL","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { 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__';\nimport { EVENT } from '../../../helpers';\nimport { getClubInclude, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates: propRates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(boards.find(({ id } = {}) => id === metaBoard.id));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\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 updateSelectedBoard = () => {\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 };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const rates = propRates.map(({ included = [], ...rate } = {}) => {\n const clubInclude = getClubInclude(\n getClubRate({\n board: boards.filter(({ rateId } = {}) => rateId === rate.id)[0],\n rate,\n }),\n );\n\n return { ...rate, included: clubInclude ? [...included, translate(clubInclude)] : included };\n });\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 (rates.length === 0 ||\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 priceFactor,\n promocodeForAll: boards.every(\n ({ confidential, discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential),\n ),\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\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\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 filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n roomId: PropTypes.number,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap
CHANGED
|
@@ -14,7 +14,7 @@ exports[`<Rates> <Item.Preview> renders 1`] = `
|
|
|
14
14
|
style="height: 208px; max-height: 208px; width: 374px;"
|
|
15
15
|
>
|
|
16
16
|
<ui-scrollview
|
|
17
|
-
class="scrollview snap horizontal scrollView"
|
|
17
|
+
class="scrollview snap horizontal notIndicator scrollView"
|
|
18
18
|
style="width: 374px;"
|
|
19
19
|
/>
|
|
20
20
|
<ui-progress
|
|
@@ -20,7 +20,7 @@ exports[`<Rates> <Item> renders 1`] = `
|
|
|
20
20
|
style="height: 208px; max-height: 208px; width: 374px;"
|
|
21
21
|
>
|
|
22
22
|
<ui-scrollview
|
|
23
|
-
class="scrollview snap horizontal scrollView"
|
|
23
|
+
class="scrollview snap horizontal notIndicator scrollView"
|
|
24
24
|
style="width: 374px;"
|
|
25
25
|
/>
|
|
26
26
|
<ui-progress
|