@mirai/core 0.3.156 → 0.3.158
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 +50 -4
- package/build/Core.constants.js +2 -2
- package/build/Core.constants.js.map +1 -1
- package/build/components/Finder/Finder.js +1 -1
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js +3 -8
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +11 -2
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -1
- package/build/components/Finder/helpers/parseCalendarProps.js +24 -3
- package/build/components/Finder/helpers/parseCalendarProps.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +1 -1
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Header.js +11 -10
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +19 -13
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +9 -5
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +7 -8
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +24 -13
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +45 -18
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.js +2 -2
- package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
- package/build/components/Rates/helpers/getFeatures.js +19 -0
- package/build/components/Rates/helpers/getFeatures.js.map +1 -0
- package/build/components/Rates/helpers/index.js +11 -0
- package/build/components/Rates/helpers/index.js.map +1 -1
- package/build/services/Rates/helpers/getOccupationSuggestions.js +12 -7
- package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
- package/build/services/Rates/helpers/getRooms.js +2 -0
- package/build/services/Rates/helpers/getRooms.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,9 +19,12 @@ const Rates = _ref => {
|
|
|
19
19
|
let {
|
|
20
20
|
boards = [],
|
|
21
21
|
cancellations = [],
|
|
22
|
+
features: {
|
|
23
|
+
showOffersFirst = false,
|
|
24
|
+
showRateIncluded = false
|
|
25
|
+
} = {},
|
|
22
26
|
rates = [],
|
|
23
27
|
selectedBoard = {},
|
|
24
|
-
showIncluded = false,
|
|
25
28
|
onBoard,
|
|
26
29
|
onCancellation,
|
|
27
30
|
onRate,
|
|
@@ -43,26 +46,31 @@ const Rates = _ref => {
|
|
|
43
46
|
rates: rates.length > 1,
|
|
44
47
|
boards: boards.length > 1
|
|
45
48
|
};
|
|
46
|
-
|
|
49
|
+
const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
47
50
|
className: [style.offset, style.gap]
|
|
48
51
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
49
52
|
action: !isMobile,
|
|
50
53
|
small: isMobile,
|
|
51
54
|
bold: true
|
|
52
|
-
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.
|
|
55
|
+
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.filter(_ref2 => {
|
|
56
|
+
let {
|
|
57
|
+
id
|
|
58
|
+
} = _ref2;
|
|
59
|
+
return !showOffersFirst || showOffersFirst && id === cancellationId;
|
|
60
|
+
}).map(_ref3 => {
|
|
53
61
|
let {
|
|
54
62
|
id,
|
|
55
63
|
name,
|
|
56
64
|
caption,
|
|
57
65
|
price,
|
|
58
66
|
...cancellation
|
|
59
|
-
} =
|
|
67
|
+
} = _ref3;
|
|
60
68
|
return /*#__PURE__*/_react.default.createElement(_components.Option, {
|
|
61
69
|
key: id,
|
|
62
70
|
caption: caption,
|
|
63
71
|
checked: id === cancellationId,
|
|
64
72
|
title: name,
|
|
65
|
-
value: price,
|
|
73
|
+
value: !showOffersFirst ? price : undefined,
|
|
66
74
|
onPress: () => onCancellation(id)
|
|
67
75
|
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
68
76
|
onPress: () => onRateInfo({
|
|
@@ -73,13 +81,14 @@ const Rates = _ref => {
|
|
|
73
81
|
action: isMobile,
|
|
74
82
|
value: _helpers.ICON.INFO
|
|
75
83
|
})));
|
|
76
|
-
}))
|
|
84
|
+
}));
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showOffersFirst && renderCancellations(), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
77
86
|
className: [style.offset, style.gap]
|
|
78
87
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
79
88
|
action: !isMobile,
|
|
80
89
|
small: isMobile,
|
|
81
90
|
bold: true
|
|
82
|
-
}, translate(_Item.L10N.LABEL_OFFER)), rates.map(
|
|
91
|
+
}, translate(_Item.L10N.LABEL_OFFER)), rates.map(_ref4 => {
|
|
83
92
|
let {
|
|
84
93
|
id,
|
|
85
94
|
cancellationId,
|
|
@@ -91,12 +100,12 @@ const Rates = _ref => {
|
|
|
91
100
|
name,
|
|
92
101
|
price,
|
|
93
102
|
restrictions
|
|
94
|
-
} =
|
|
103
|
+
} = _ref4;
|
|
95
104
|
return /*#__PURE__*/_react.default.createElement(_components.Option, {
|
|
96
105
|
key: id,
|
|
97
106
|
caption: /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
|
|
98
107
|
countdown,
|
|
99
|
-
included:
|
|
108
|
+
included: showRateIncluded ? included : undefined,
|
|
100
109
|
restrictions
|
|
101
110
|
}),
|
|
102
111
|
checked: id === rateId,
|
|
@@ -124,11 +133,11 @@ const Rates = _ref => {
|
|
|
124
133
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
125
134
|
action: !isMobile,
|
|
126
135
|
small: isMobile
|
|
127
|
-
}, name, !
|
|
136
|
+
}, name, !showRateIncluded && /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
|
|
128
137
|
compacted: true,
|
|
129
138
|
included
|
|
130
139
|
}))));
|
|
131
|
-
})), (has.rates || has.boards) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
140
|
+
})), showOffersFirst && renderCancellations(), (has.rates || has.boards) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
132
141
|
className: (0, _ui.styles)(style.offset, style.gap)
|
|
133
142
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
134
143
|
action: !isMobile,
|
|
@@ -138,6 +147,7 @@ const Rates = _ref => {
|
|
|
138
147
|
let board = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
139
148
|
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
140
149
|
const {
|
|
150
|
+
disabled,
|
|
141
151
|
id,
|
|
142
152
|
increment,
|
|
143
153
|
name
|
|
@@ -145,8 +155,9 @@ const Rates = _ref => {
|
|
|
145
155
|
return /*#__PURE__*/_react.default.createElement(_components.Option, {
|
|
146
156
|
key: id,
|
|
147
157
|
checked: id === boardId,
|
|
158
|
+
disabled: disabled,
|
|
148
159
|
title: name,
|
|
149
|
-
value: increment,
|
|
160
|
+
value: has.boards ? increment : undefined,
|
|
150
161
|
onPress: () => onBoard(board)
|
|
151
162
|
}, index === 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
152
163
|
captions: ['Breakfast included', 'Breakfast included', 'Full board'],
|
|
@@ -159,9 +170,9 @@ Rates.displayName = 'Mirai:Core:Rates:Item:Rates';
|
|
|
159
170
|
Rates.propTypes = {
|
|
160
171
|
boards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
161
172
|
cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
173
|
+
features: _propTypes.default.shape({}),
|
|
162
174
|
rates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
163
175
|
selectedBoard: _propTypes.default.shape({}),
|
|
164
|
-
showIncluded: _propTypes.default.bool,
|
|
165
176
|
onBoard: _propTypes.default.func,
|
|
166
177
|
onCancellation: _propTypes.default.func,
|
|
167
178
|
onRate: _propTypes.default.func,
|
|
@@ -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","boards","cancellations","rates","selectedBoard","showIncluded","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","createElement","Fragment","View","className","offset","gap","Text","action","small","bold","L10N","LABEL_CANCELLATION_POLICY","map","_ref2","name","caption","price","cancellation","Option","key","checked","title","value","onPress","Pressable","Icon","ICON","INFO","LABEL_OFFER","_ref3","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","undefined","row","rateText","rate","highlight","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","arguments","index","increment","TooltipDates","captions","values","Date","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { 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 boards = [],\n cancellations = [],\n rates = [],\n selectedBoard = {},\n showIncluded = false,\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 return (\n <>\n {has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations.map(({ id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={price}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n )}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={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 {...{ countdown, included: showIncluded ? included : undefined, restrictions }} />\n }\n checked={id === rateId}\n disabled={disabled}\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 bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text bold action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text action={!isMobile} small={isMobile}>\n {name}\n {!showIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}, index) => {\n const { id, increment, name } = board;\n\n return (\n <Option key={id} checked={id === boardId} title={name} value={increment} onPress={() => onBoard(board)}>\n {/* ! TODO: [MF-1742] */}\n {index === 0 && (\n <TooltipDates\n captions={['Breakfast included', 'Breakfast included', 'Full board']}\n values={[new Date(2024, 3, 10), new Date(2024, 3, 11), new Date(2024, 3, 12)]}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n showIncluded: PropTypes.bool,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\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","boards","cancellations","features","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","small","bold","L10N","LABEL_CANCELLATION_POLICY","filter","_ref2","map","_ref3","name","caption","price","cancellation","Option","key","checked","title","value","undefined","onPress","Pressable","Icon","ICON","INFO","Fragment","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","row","rateText","rate","highlight","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","arguments","index","increment","TooltipDates","captions","values","Date","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { 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 boards = [],\n cancellations = [],\n features: { 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} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\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 </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={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 {...{ countdown, included: showRateIncluded ? included : undefined, restrictions }} />\n }\n checked={id === rateId}\n disabled={disabled}\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 bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text bold action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text 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} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}, index) => {\n const { disabled, id, increment, name } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {/* ! TODO: [MF-1742] */}\n {index === 0 && (\n <TooltipDates\n captions={['Breakfast included', 'Breakfast included', 'Full board']}\n values={[new Date(2024, 3, 10), new Date(2024, 3, 11), new Date(2024, 3, 12)]}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\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\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -20,8 +20,8 @@ const Item = _ref => {
|
|
|
20
20
|
boards = [],
|
|
21
21
|
cancellations = [],
|
|
22
22
|
cart: selected,
|
|
23
|
+
features = {},
|
|
23
24
|
rates = [],
|
|
24
|
-
showAllOffers = false,
|
|
25
25
|
...others
|
|
26
26
|
} = _ref;
|
|
27
27
|
const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
|
|
@@ -57,34 +57,60 @@ const Item = _ref => {
|
|
|
57
57
|
} = _ref3;
|
|
58
58
|
setSelectedBoard(boards.find(board => board.cancellationId === cancellationId && board.rateId == id));
|
|
59
59
|
};
|
|
60
|
+
const findPrice = function (id) {
|
|
61
|
+
let dataSource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
62
|
+
return (dataSource.find(function () {
|
|
63
|
+
let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
64
|
+
return item.id === id;
|
|
65
|
+
}) || {}).price || 0;
|
|
66
|
+
};
|
|
67
|
+
const {
|
|
68
|
+
showAllBoards,
|
|
69
|
+
showAllOffers,
|
|
70
|
+
showOffersFirst
|
|
71
|
+
} = features;
|
|
60
72
|
const {
|
|
61
73
|
id,
|
|
62
74
|
cancellationId,
|
|
63
75
|
rateId
|
|
64
76
|
} = selectedBoard || {};
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
let {
|
|
69
|
-
id
|
|
70
|
-
} = _ref4;
|
|
71
|
-
return id === cancellationId;
|
|
72
|
-
}) || {};
|
|
77
|
+
const cancellationPrice = findPrice(cancellationId, cancellations);
|
|
78
|
+
const ratePrice = findPrice(rateId, rates);
|
|
79
|
+
const visibleBoards = boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId);
|
|
73
80
|
const props = {
|
|
74
81
|
...others,
|
|
75
|
-
boards: boards.
|
|
82
|
+
boards: showAllBoards ? boards.map(board => {
|
|
83
|
+
const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;
|
|
84
|
+
let {
|
|
85
|
+
increment
|
|
86
|
+
} = board;
|
|
87
|
+
if (!selectedBoard) {
|
|
88
|
+
const boardCancellationPrice = findPrice(board.cancellationId, cancellations);
|
|
89
|
+
const boardRatePrice = findPrice(board.rateId, rates);
|
|
90
|
+
increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
...board,
|
|
94
|
+
disabled: !selectedBoard,
|
|
95
|
+
increment
|
|
96
|
+
};
|
|
97
|
+
}).filter(board => {
|
|
98
|
+
if (!board.disabled) return true;
|
|
99
|
+
const visible = !visibleBoards.find(item => item.name === board.name);
|
|
100
|
+
if (visible) visibleBoards.push(board);
|
|
101
|
+
return visible;
|
|
102
|
+
}).sort((a, b) => a.increment - b.increment) : visibleBoards,
|
|
76
103
|
cancellations,
|
|
77
|
-
|
|
104
|
+
features,
|
|
105
|
+
rates: showOffersFirst ? rates.map(rate => ({
|
|
106
|
+
...rate,
|
|
107
|
+
price: rate.price + findPrice(rate.cancellationId, cancellations)
|
|
108
|
+
})).sort((a, b) => a.price - b.price) : showAllOffers ? rates.map(rate => {
|
|
78
109
|
const selectedCancellation = rate.cancellationId === cancellationId;
|
|
79
|
-
const price = selectedCancellation ? rate.price : rate.price - cancellationPrice +
|
|
80
|
-
let {
|
|
81
|
-
id
|
|
82
|
-
} = _ref5;
|
|
83
|
-
return id === rate.cancellationId;
|
|
84
|
-
}).price;
|
|
110
|
+
const price = selectedCancellation ? rate.price : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);
|
|
85
111
|
return {
|
|
86
112
|
...rate,
|
|
87
|
-
disabled: !selectedCancellation,
|
|
113
|
+
disabled: !showOffersFirst && !selectedCancellation,
|
|
88
114
|
price
|
|
89
115
|
};
|
|
90
116
|
}).sort((a, b) => a.price - b.price) : rates.filter(rate => rate.cancellationId === cancellationId),
|
|
@@ -107,6 +133,7 @@ Item.propTypes = {
|
|
|
107
133
|
cart: _propTypes.default.shape({
|
|
108
134
|
id: _propTypes.default.string
|
|
109
135
|
}),
|
|
136
|
+
features: _propTypes.default.shape({}),
|
|
110
137
|
rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
111
138
|
showAllOffers: _propTypes.default.bool
|
|
112
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_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","_ref","boards","cancellations","cart","selected","rates","showAllOffers","others","selectedBoard","setSelectedBoard","useState","useEffect","nextBoard","find","item","id","undefined","cancellationId","rateId","board","handleBoard","handleCancellation","_ref2","handleRate","_ref3","price","cancellationPrice","_ref4","props","filter","map","rate","selectedCancellation","_ref5","disabled","sort","b","createElement","View","className","card","unselected","Preview","Rates","onBoard","onCancellation","onRate","Summary","exports","displayName","propTypes","PropTypes","arrayOf","shape","string","bool"],"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';\n\nconst Item = ({ boards = [], cancellations = [], cart: selected, rates = [], showAllOffers = false, ...others }) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n let nextBoard = selected ? boards.find((item) => item.id === selected.id) : undefined;\n\n if (!selectedBoard || !nextBoard) {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n }\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards, selected]);\n\n const handleBoard = (board) => {\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const { id, cancellationId, rateId } = selectedBoard || {};\n const { price: cancellationPrice = 0 } = cancellations.find(({ id }) => id === cancellationId) || {};\n\n const props = {\n ...others,\n boards: boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId),\n cancellations,\n rates: showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + cancellations.find(({ id }) => id === rate.cancellationId).price;\n\n return { ...rate, disabled: !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n };\n\n return (\n <View\n className={[\n style.card,\n selected?.id === id && style.selected,\n selected && selected.id !== id && style.unselected,\n others.className,\n ]}\n >\n <Preview {...props} />\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n <Summary {...props} />\n </View>\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 cart: PropTypes.shape({\n id: PropTypes.string,\n }),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n showAllOffers: PropTypes.bool,\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","_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","_ref","boards","cancellations","cart","selected","features","rates","others","selectedBoard","setSelectedBoard","useState","useEffect","nextBoard","find","item","id","undefined","cancellationId","rateId","board","handleBoard","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","price","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","props","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","View","className","card","unselected","Preview","Rates","onBoard","onCancellation","onRate","Summary","exports","displayName","propTypes","PropTypes","arrayOf","shape","string","bool"],"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';\n\nconst Item = ({ boards = [], cancellations = [], cart: selected, features = {}, rates = [], ...others }) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n let nextBoard = selected ? boards.find((item) => item.id === selected.id) : undefined;\n\n if (!selectedBoard || !nextBoard) {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n }\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards, selected]);\n\n const handleBoard = (board) => {\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\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 { 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 props = {\n ...others,\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 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 };\n\n return (\n <View\n className={[\n style.card,\n selected?.id === id && style.selected,\n selected && selected.id !== id && style.unselected,\n others.className,\n ]}\n >\n <Preview {...props} />\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n <Summary {...props} />\n </View>\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 cart: PropTypes.shape({\n id: PropTypes.string,\n }),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n showAllOffers: PropTypes.bool,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const Option = _ref => {
|
|
|
20
20
|
children,
|
|
21
21
|
disabled,
|
|
22
22
|
title,
|
|
23
|
-
value
|
|
23
|
+
value,
|
|
24
24
|
onPress,
|
|
25
25
|
...others
|
|
26
26
|
} = _ref;
|
|
@@ -53,7 +53,7 @@ const Option = _ref => {
|
|
|
53
53
|
lighten: true,
|
|
54
54
|
small: !isMobile,
|
|
55
55
|
tiny: isMobile
|
|
56
|
-
}, caption) : caption), onPress && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
56
|
+
}, caption) : caption), onPress && value !== undefined && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
57
57
|
action: !isMobile,
|
|
58
58
|
small: isMobile,
|
|
59
59
|
lighten: value === 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Option","_ref","caption","checked","children","disabled","title","value","onPress","others","isMobile","useDevice","currency","useStore","createElement","Pressable","preventDefault","className","styles","option","Radio","View","texts","row","content","Text","action","small","concat","charAt","toUpperCase","slice","toLowerCase","lighten","tiny","currencyFormat","Math","abs","exports","displayName","propTypes","PropTypes","oneOfType","string","node","bool","number","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Option/Option.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat } from '@mirai/locale';\nimport { Pressable, Text, Radio, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Option.module.css';\n\nconst Option = ({ caption, checked = false, children, disabled, title, value
|
|
1
|
+
{"version":3,"file":"Option.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Option","_ref","caption","checked","children","disabled","title","value","onPress","others","isMobile","useDevice","currency","useStore","createElement","Pressable","preventDefault","className","styles","option","Radio","View","texts","row","content","Text","action","small","concat","charAt","toUpperCase","slice","toLowerCase","lighten","tiny","undefined","currencyFormat","Math","abs","exports","displayName","propTypes","PropTypes","oneOfType","string","node","bool","number","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Option/Option.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat } from '@mirai/locale';\nimport { Pressable, Text, Radio, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Option.module.css';\n\nconst Option = ({ caption, checked = false, children, disabled, title, value, onPress, ...others }) => {\n const { isMobile } = useDevice();\n const { value: { currency } = {} } = useStore();\n\n return (\n <Pressable\n disabled={disabled}\n preventDefault={false}\n onPress={onPress}\n className={styles(style.option, disabled && style.disabled, others.className)}\n >\n {onPress && <Radio checked={checked} disabled={disabled} />}\n <View className={style.texts}>\n <View row className={style.content}>\n {typeof title === 'string' ? (\n <Text action={!isMobile} small={isMobile} className={style.title}>\n {`${title.charAt(0).toUpperCase()}${title.slice(1).toLowerCase()}`}\n </Text>\n ) : (\n title\n )}\n {children}\n </View>\n\n {typeof caption === 'string' ? (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {caption}\n </Text>\n ) : (\n caption\n )}\n </View>\n {onPress && value !== undefined && (\n <Text action={!isMobile} small={isMobile} lighten={value === 0} className={style.value}>\n {`${value >= 0 ? '+' : '-'} ${currencyFormat({ currency, value: Math.abs(value) })}`}\n </Text>\n )}\n </Pressable>\n );\n};\n\nOption.displayName = 'Mirai:Core:Rates:Item:Option';\n\nOption.propTypes = {\n caption: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n checked: PropTypes.bool,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n title: PropTypes.string,\n value: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { Option };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFeatures = void 0;
|
|
7
|
+
var _services = require("@mirai/services");
|
|
8
|
+
var _Rates = require("../Rates.constants");
|
|
9
|
+
const getFeatures = function (id) {
|
|
10
|
+
let urlParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
11
|
+
const urlFeatures = urlParams.features ? urlParams.features.split(',') : [];
|
|
12
|
+
let features = {};
|
|
13
|
+
Object.values(_Rates.FEATURES).forEach(feature => {
|
|
14
|
+
features[feature] = urlFeatures.includes(feature) || _services.ServiceFeatures.get(feature, id) || false;
|
|
15
|
+
});
|
|
16
|
+
return features;
|
|
17
|
+
};
|
|
18
|
+
exports.getFeatures = getFeatures;
|
|
19
|
+
//# sourceMappingURL=getFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFeatures.js","names":["_services","require","_Rates","getFeatures","id","urlParams","arguments","length","undefined","urlFeatures","features","split","Object","values","FEATURES","forEach","feature","includes","ServiceFeatures","get","exports"],"sources":["../../../../src/components/Rates/helpers/getFeatures.js"],"sourcesContent":["import { ServiceFeatures } from '@mirai/services';\n\nimport { FEATURES } from '../Rates.constants';\n\nexport const getFeatures = (id, urlParams = {}) => {\n const urlFeatures = urlParams.features ? urlParams.features.split(',') : [];\n let features = {};\n\n Object.values(FEATURES).forEach((feature) => {\n features[feature] = urlFeatures.includes(feature) || ServiceFeatures.get(feature, id) || false;\n });\n\n return features;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,SAAAA,CAACC,EAAE,EAAqB;EAAA,IAAnBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC5C,MAAMG,WAAW,GAAGJ,SAAS,CAACK,QAAQ,GAAGL,SAAS,CAACK,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;EAC3E,IAAID,QAAQ,GAAG,CAAC,CAAC;EAEjBE,MAAM,CAACC,MAAM,CAACC,eAAQ,CAAC,CAACC,OAAO,CAAEC,OAAO,IAAK;IAC3CN,QAAQ,CAACM,OAAO,CAAC,GAAGP,WAAW,CAACQ,QAAQ,CAACD,OAAO,CAAC,IAAIE,yBAAe,CAACC,GAAG,CAACH,OAAO,EAAEZ,EAAE,CAAC,IAAI,KAAK;EAChG,CAAC,CAAC;EAEF,OAAOM,QAAQ;AACjB,CAAC;AAACU,OAAA,CAAAjB,WAAA,GAAAA,WAAA"}
|
|
@@ -14,6 +14,17 @@ Object.keys(_getCheckoutParams).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
+
var _getFeatures = require("./getFeatures");
|
|
18
|
+
Object.keys(_getFeatures).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _getFeatures[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _getFeatures[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
17
28
|
var _getFinderParams = require("./getFinderParams");
|
|
18
29
|
Object.keys(_getFinderParams).forEach(function (key) {
|
|
19
30
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_getCheckoutParams","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getFinderParams","_getForwarderUrl","_getLabelTaxes","_signout","_trackDataSource"],"sources":["../../../../src/components/Rates/helpers/index.js"],"sourcesContent":["export * from './getCheckoutParams';\nexport * from './getFinderParams';\nexport * from './getForwarderUrl';\nexport * from './getLabelTaxes';\nexport * from './signout';\nexport * from './trackDataSource';\n"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,
|
|
1
|
+
{"version":3,"file":"index.js","names":["_getCheckoutParams","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getFeatures","_getFinderParams","_getForwarderUrl","_getLabelTaxes","_signout","_trackDataSource"],"sources":["../../../../src/components/Rates/helpers/index.js"],"sourcesContent":["export * from './getCheckoutParams';\nexport * from './getFeatures';\nexport * from './getFinderParams';\nexport * from './getForwarderUrl';\nexport * from './getLabelTaxes';\nexport * from './signout';\nexport * from './trackDataSource';\n"],"mappings":"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"}
|
|
@@ -75,11 +75,12 @@ const getOccupationSuggestions = _ref => {
|
|
|
75
75
|
})) {
|
|
76
76
|
const initAges = [...agesChildren].filter(age => age !== ageBaby);
|
|
77
77
|
suggestions.push({
|
|
78
|
-
|
|
78
|
+
rooms: suggestion.map(function () {
|
|
79
79
|
let {
|
|
80
80
|
adults,
|
|
81
81
|
babies,
|
|
82
|
-
children
|
|
82
|
+
children,
|
|
83
|
+
name
|
|
83
84
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
85
|
const occupation = [];
|
|
85
86
|
if (adults > 0) {
|
|
@@ -96,7 +97,10 @@ const getOccupationSuggestions = _ref => {
|
|
|
96
97
|
amount: children + babies,
|
|
97
98
|
type: CHILD
|
|
98
99
|
});
|
|
99
|
-
return
|
|
100
|
+
return {
|
|
101
|
+
name,
|
|
102
|
+
occupation
|
|
103
|
+
};
|
|
100
104
|
}),
|
|
101
105
|
price: suggestion.reduce(function (total) {
|
|
102
106
|
let {
|
|
@@ -146,6 +150,7 @@ const getOccupationSuggestions = _ref => {
|
|
|
146
150
|
adults: room.adults,
|
|
147
151
|
children: room.children,
|
|
148
152
|
babies: room.babies,
|
|
153
|
+
name: room.name,
|
|
149
154
|
price: room.price
|
|
150
155
|
}]
|
|
151
156
|
});
|
|
@@ -172,14 +177,14 @@ const getOccupationSuggestions = _ref => {
|
|
|
172
177
|
}] = rooms || [];
|
|
173
178
|
return suggestions.map(function () {
|
|
174
179
|
let {
|
|
175
|
-
|
|
176
|
-
|
|
180
|
+
price,
|
|
181
|
+
rooms
|
|
177
182
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
178
183
|
return {
|
|
179
184
|
hasFees,
|
|
180
185
|
hasTaxes,
|
|
181
|
-
|
|
182
|
-
|
|
186
|
+
price,
|
|
187
|
+
rooms
|
|
183
188
|
};
|
|
184
189
|
}).sort((a, b) => a.price - b.price);
|
|
185
190
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOccupationSuggestions.js","names":["_compareSuggestions","require","_getRooms","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","infantAge","occupation","others","isGuest","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","getRooms","suggestions","search","_ref2","availability","babies","startIndex","suggestion","compareSuggestions","initAges","push","map","Array","fill","pop","price","index","room","totalRooms","id","totalAvailability","occupied","hasFees","hasTaxes","sort","a","b","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { compareSuggestions } from './compareSuggestions';\nimport { getRooms } from './getRooms';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({ infantAge, occupation = [], ...others }) => {\n const isGuest = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = getRooms(others);\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (\n adults === 0 &&\n children === 0 &&\n babies === 0 &&\n availability >= 0 &&\n !compareSuggestions({ suggestion, suggestions })\n ) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n
|
|
1
|
+
{"version":3,"file":"getOccupationSuggestions.js","names":["_compareSuggestions","require","_getRooms","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","infantAge","occupation","others","isGuest","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","getRooms","suggestions","search","_ref2","availability","babies","startIndex","suggestion","compareSuggestions","initAges","push","map","name","Array","fill","pop","price","index","room","totalRooms","id","totalAvailability","occupied","hasFees","hasTaxes","sort","a","b","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { compareSuggestions } from './compareSuggestions';\nimport { getRooms } from './getRooms';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({ infantAge, occupation = [], ...others }) => {\n const isGuest = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = getRooms(others);\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (\n adults === 0 &&\n children === 0 &&\n babies === 0 &&\n availability >= 0 &&\n !compareSuggestions({ suggestion, suggestions })\n ) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n rooms: suggestion.map(({ adults, babies, children, name } = {}) => {\n const occupation = [];\n if (adults > 0) {\n occupation.push({ ages: Array(adults).fill(undefined), amount: adults, type: isGuest ? GUEST : ADULT });\n }\n\n const ages = Array(children)\n .fill(undefined)\n .map(() => initAges.pop());\n if (babies > 0) ages.push(ageBaby);\n if (children + babies > 0) occupation.push({ ages, amount: children + babies, type: CHILD });\n\n return { name, occupation };\n }),\n price: suggestion.reduce((total, { price } = {}) => total + price, 0),\n suggestion,\n });\n\n return;\n }\n\n for (let index = startIndex; index < rooms.length; index++) {\n const room = rooms[index];\n if (room.adults <= adults && room.children <= children && room.babies <= babies) {\n const totalRooms = rooms.filter(({ id } = {}) => id === room.id).length;\n const totalAvailability = rooms\n .filter(({ id } = {}) => id === room.id)\n .reduce((total, { availability } = {}) => total + availability, 0);\n const occupied = suggestion.filter(({ id } = {}) => id === room.id).length;\n\n search({\n adults: adults - room.adults,\n availability: totalAvailability - totalRooms - occupied,\n babies: babies - room.babies,\n children: children - room.children,\n rooms,\n startIndex: index + 1,\n suggestion: [\n ...suggestion,\n {\n id: room.id,\n adults: room.adults,\n children: room.children,\n babies: room.babies,\n name: room.name,\n price: room.price,\n },\n ],\n });\n }\n }\n };\n\n search({ adults, babies: ageBaby >= 0 ? 1 : 0, children: ageBaby >= 0 ? children - 1 : children, rooms });\n\n if (suggestions.length === 0) {\n search({\n adults: ageBaby >= 0 ? adults + children - 1 : adults + children,\n babies: ageBaby >= 0 ? 1 : 0,\n children: 0,\n rooms,\n });\n }\n\n const [{ hasFees, hasTaxes }] = rooms || [];\n\n return suggestions\n .map(({ price, rooms } = {}) => ({ hasFees, hasTaxes, price, rooms }))\n .sort((a, b) => a.price - b.price);\n};\n"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const getRooms = _ref => {
|
|
|
18
18
|
let {
|
|
19
19
|
amountAvailable: availability,
|
|
20
20
|
id,
|
|
21
|
+
name,
|
|
21
22
|
occupationOptions
|
|
22
23
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
23
24
|
return Object.values(occupationOptions).map(function () {
|
|
@@ -50,6 +51,7 @@ const getRooms = _ref => {
|
|
|
50
51
|
hasFees,
|
|
51
52
|
hasTaxes,
|
|
52
53
|
id,
|
|
54
|
+
name,
|
|
53
55
|
price
|
|
54
56
|
};
|
|
55
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRooms.js","names":["_parseBoards","require","MAX_ROOM_AVAILABILITY","getRooms","_ref","currency","fees","hotelCurrency","roomTypes","taxes","Object","values","flatMap","amountAvailable","availability","id","occupationOptions","arguments","length","undefined","map","occupationQuantities","numAdults","numBabies","totalChildren","rates","boards","hasFees","hasTaxes","price","parseBoards","adults","babies","children","sort","a","b","reduce","result","current","key","concat","room","Array","fill","exports"],"sources":["../../../../src/services/Rates/helpers/getRooms.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\n\nconst MAX_ROOM_AVAILABILITY = 5;\n\nexport const getRooms = ({ currency, fees, hotelCurrency, roomTypes, taxes }) =>\n Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, id, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => {\n const { boards: [{ fees: hasFees, taxes: hasTaxes, price } = {}] = [] } =\n parseBoards({ currency, fees, hotelCurrency, rates, taxes }) || {};\n\n return {\n adults: numAdults,\n availability,\n babies: numBabies,\n children: totalChildren,\n hasFees,\n hasTaxes,\n id,\n price,\n };\n },\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n ).flatMap((room) =>\n Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability)\n .fill(undefined)\n .map(() => room),\n );\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAG,CAAC;AAExB,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,aAAa;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAAL,IAAA;EAAA,OAC1EM,MAAM,CAACC,MAAM,CACXD,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CACrBI,OAAO,CAAC;IAAA,IAAC;MAAEC,eAAe,EAAEC,YAAY;MAAEC,EAAE;MAAEC;IAAkB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,
|
|
1
|
+
{"version":3,"file":"getRooms.js","names":["_parseBoards","require","MAX_ROOM_AVAILABILITY","getRooms","_ref","currency","fees","hotelCurrency","roomTypes","taxes","Object","values","flatMap","amountAvailable","availability","id","name","occupationOptions","arguments","length","undefined","map","occupationQuantities","numAdults","numBabies","totalChildren","rates","boards","hasFees","hasTaxes","price","parseBoards","adults","babies","children","sort","a","b","reduce","result","current","key","concat","room","Array","fill","exports"],"sources":["../../../../src/services/Rates/helpers/getRooms.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\n\nconst MAX_ROOM_AVAILABILITY = 5;\n\nexport const getRooms = ({ currency, fees, hotelCurrency, roomTypes, taxes }) =>\n Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, id, name, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => {\n const { boards: [{ fees: hasFees, taxes: hasTaxes, price } = {}] = [] } =\n parseBoards({ currency, fees, hotelCurrency, rates, taxes }) || {};\n\n return {\n adults: numAdults,\n availability,\n babies: numBabies,\n children: totalChildren,\n hasFees,\n hasTaxes,\n id,\n name,\n price,\n };\n },\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n ).flatMap((room) =>\n Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability)\n .fill(undefined)\n .map(() => room),\n );\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAG,CAAC;AAExB,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,aAAa;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAAL,IAAA;EAAA,OAC1EM,MAAM,CAACC,MAAM,CACXD,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CACrBI,OAAO,CAAC;IAAA,IAAC;MAAEC,eAAe,EAAEC,YAAY;MAAEC,EAAE;MAAEC,IAAI;MAAEC;IAAkB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAC3ER,MAAM,CAACC,MAAM,CAACM,iBAAiB,CAAC,CAACI,GAAG,CAClC,YAAwF;MAAA,IAAvF;QAAEC,oBAAoB,EAAE;UAAEC,SAAS;UAAEC,SAAS;UAAEC;QAAc,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAM,CAAC,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MACjF,MAAM;QAAES,MAAM,EAAE,CAAC;UAAErB,IAAI,EAAEsB,OAAO;UAAEnB,KAAK,EAAEoB,QAAQ;UAAEC;QAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;MAAG,CAAC,GACrE,IAAAC,wBAAW,EAAC;QAAE1B,QAAQ;QAAEC,IAAI;QAAEC,aAAa;QAAEmB,KAAK;QAAEjB;MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;MAEpE,OAAO;QACLuB,MAAM,EAAET,SAAS;QACjBT,YAAY;QACZmB,MAAM,EAAET,SAAS;QACjBU,QAAQ,EAAET,aAAa;QACvBG,OAAO;QACPC,QAAQ;QACRd,EAAE;QACFC,IAAI;QACJc;MACF,CAAC;IACH,CACF,CAAC;EAAA,CACH,CAAC,CACAK,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACN,KAAK,GAAGO,CAAC,CAACP,KAAK,CAAC,CACjCQ,MAAM,CAAC,CAACC,MAAM,EAAEC,OAAO,KAAK;IAC3B,MAAMC,GAAG,MAAAC,MAAA,CAAMF,OAAO,CAACR,MAAM,OAAAU,MAAA,CAAIF,OAAO,CAACP,MAAM,OAAAS,MAAA,CAAIF,OAAO,CAACN,QAAQ,CAAE;IACrE,IAAI,CAACK,MAAM,CAACE,GAAG,CAAC,EAAEF,MAAM,CAACE,GAAG,CAAC,GAAGD,OAAO;IAEvC,OAAOD,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CACT,CAAC,CAAC3B,OAAO,CAAE+B,IAAI,IACbC,KAAK,CAACD,IAAI,CAAC7B,YAAY,GAAGZ,qBAAqB,GAAGA,qBAAqB,GAAGyC,IAAI,CAAC7B,YAAY,CAAC,CACzF+B,IAAI,CAACzB,SAAS,CAAC,CACfC,GAAG,CAAC,MAAMsB,IAAI,CACnB,CAAC;AAAA;AAACG,OAAA,CAAA3C,QAAA,GAAAA,QAAA"}
|