@mirai/core 0.4.210 → 0.4.212

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.
Files changed (54) hide show
  1. package/build/components/Deals/Deals.js +6 -221
  2. package/build/components/Deals/Deals.js.map +1 -1
  3. package/build/components/Rates/components/ModalExtras/ModalExtras.js +3 -5
  4. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  5. package/build/components/Rooms/Rooms.js +26 -0
  6. package/build/components/Rooms/Rooms.js.map +1 -0
  7. package/build/components/Rooms/index.js +13 -0
  8. package/build/components/Rooms/index.js.map +1 -0
  9. package/build/components/{Deals/Deals.Calendar.js → __shared__/RatesExplorer/RatesExplorer.Calendar.js} +16 -16
  10. package/build/components/__shared__/RatesExplorer/RatesExplorer.Calendar.js.map +1 -0
  11. package/build/components/{Deals/Deals.constants.js → __shared__/RatesExplorer/RatesExplorer.constants.js} +1 -1
  12. package/build/components/__shared__/RatesExplorer/RatesExplorer.constants.js.map +1 -0
  13. package/build/components/__shared__/RatesExplorer/RatesExplorer.js +258 -0
  14. package/build/components/__shared__/RatesExplorer/RatesExplorer.js.map +1 -0
  15. package/build/components/{Deals/Deals.l10n.js → __shared__/RatesExplorer/RatesExplorer.l10n.js} +2 -2
  16. package/build/components/__shared__/RatesExplorer/RatesExplorer.l10n.js.map +1 -0
  17. package/build/components/{Deals/Deals.module.css → __shared__/RatesExplorer/RatesExplorer.module.css} +2 -2
  18. package/build/components/{Deals/Deals.skeleton.js → __shared__/RatesExplorer/RatesExplorer.skeleton.js} +11 -11
  19. package/build/components/__shared__/RatesExplorer/RatesExplorer.skeleton.js.map +1 -0
  20. package/build/components/{Deals → __shared__/RatesExplorer}/helpers/calcFromDate.js +1 -1
  21. package/build/components/__shared__/RatesExplorer/helpers/calcFromDate.js.map +1 -0
  22. package/build/components/{Deals → __shared__/RatesExplorer}/helpers/calcMinStay.js +3 -3
  23. package/build/components/__shared__/RatesExplorer/helpers/calcMinStay.js.map +1 -0
  24. package/build/components/{Deals → __shared__/RatesExplorer}/helpers/calcNightWithDeals.js +1 -1
  25. package/build/components/__shared__/RatesExplorer/helpers/calcNightWithDeals.js.map +1 -0
  26. package/build/components/__shared__/RatesExplorer/helpers/calcToDate.js.map +1 -0
  27. package/build/components/{Deals → __shared__/RatesExplorer}/helpers/calcTooltips.js +5 -5
  28. package/build/components/__shared__/RatesExplorer/helpers/calcTooltips.js.map +1 -0
  29. package/build/components/__shared__/RatesExplorer/helpers/getCurrency.js.map +1 -0
  30. package/build/components/__shared__/RatesExplorer/helpers/index.js.map +1 -0
  31. package/build/components/__shared__/RatesExplorer/helpers/validate.js.map +1 -0
  32. package/build/components/__shared__/RatesExplorer/index.js +13 -0
  33. package/build/components/__shared__/RatesExplorer/index.js.map +1 -0
  34. package/build/components/index.js +2 -0
  35. package/build/components/index.js.map +1 -1
  36. package/build/helpers/consolidateStore.js +10 -1
  37. package/build/helpers/consolidateStore.js.map +1 -1
  38. package/package.json +1 -1
  39. package/build/components/Deals/Deals.Calendar.js.map +0 -1
  40. package/build/components/Deals/Deals.constants.js.map +0 -1
  41. package/build/components/Deals/Deals.l10n.js.map +0 -1
  42. package/build/components/Deals/Deals.skeleton.js.map +0 -1
  43. package/build/components/Deals/helpers/calcFromDate.js.map +0 -1
  44. package/build/components/Deals/helpers/calcMinStay.js.map +0 -1
  45. package/build/components/Deals/helpers/calcNightWithDeals.js.map +0 -1
  46. package/build/components/Deals/helpers/calcToDate.js.map +0 -1
  47. package/build/components/Deals/helpers/calcTooltips.js.map +0 -1
  48. package/build/components/Deals/helpers/getCurrency.js.map +0 -1
  49. package/build/components/Deals/helpers/index.js.map +0 -1
  50. package/build/components/Deals/helpers/validate.js.map +0 -1
  51. /package/build/components/{Deals → __shared__/RatesExplorer}/helpers/calcToDate.js +0 -0
  52. /package/build/components/{Deals → __shared__/RatesExplorer}/helpers/getCurrency.js +0 -0
  53. /package/build/components/{Deals → __shared__/RatesExplorer}/helpers/index.js +0 -0
  54. /package/build/components/{Deals → __shared__/RatesExplorer}/helpers/validate.js +0 -0
@@ -4,237 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Deals = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
- var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
- var _ui = require("@mirai/ui");
11
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _Deals = require("./Deals.Calendar");
14
- var _Deals2 = require("./Deals.constants");
15
- var _Deals3 = require("./Deals.l10n");
16
- var style = _interopRequireWildcard(require("./Deals.module.css"));
17
- var _Deals4 = _interopRequireDefault(require("./Deals.skeleton"));
18
- var _helpers = require("./helpers");
19
- var _prepareRoom = require("../../helpers/prepareRoom");
20
- var _shared__ = require("../__shared__");
21
- var _toParties = require("../__shared__/Occupation/helpers/toParties");
22
- var _helpers2 = require("../helpers");
23
- 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); }
24
- 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; }
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _RatesExplorer = require("../__shared__/RatesExplorer");
25
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable react-hooks/exhaustive-deps */
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
12
  const Deals = _ref => {
28
13
  let {
29
14
  id: offerId,
30
15
  ...others
31
16
  } = _ref;
32
- const {
33
- isMobile
34
- } = (0, _ui.useDevice)();
35
- const {
36
- translate
37
- } = (0, _locale.useLocale)();
38
- const {
39
- set,
40
- value: {
41
- cookies = {},
42
- currency,
43
- deals: value = {},
44
- hotel,
45
- language,
46
- locale,
47
- origin,
48
- skeleton = false,
49
- urlParams = {},
50
- ...store
51
- }
52
- } = (0, _dataSources.useStore)();
53
- const ref = (0, _react.useRef)(null);
54
- const [busy, setBusy] = (0, _react.useState)(false);
55
- const [dataSource, setDataSource] = (0, _react.useState)();
56
- const [error, setError] = (0, _react.useState)({});
57
- const [visible, setVisible] = (0, _react.useState)();
58
- const [visited, setVisited] = (0, _react.useState)({});
59
- (0, _react.useEffect)(() => {
60
- !isMobile && document.addEventListener('click', handleClickOutside, true);
61
- window.addEventListener('pageshow', handlePageShow);
62
- return () => {
63
- !isMobile && document.removeEventListener('click', handleClickOutside, true);
64
- window.removeEventListener('pageshow', handlePageShow);
65
- };
66
- }, []);
67
- (0, _react.useEffect)(() => {
68
- if (skeleton) return;
69
- (async () => setDataSource(await getDataSource()))();
70
- }, [currency, locale]);
71
- (0, _react.useEffect)(() => {
72
- const {
73
- occupation: {
74
- minRooms = 1,
75
- dataSource: occupation = []
76
- } = {}
77
- } = dataSource || {};
78
- !(value !== null && value !== void 0 && value.occupation) && occupation.length > 0 && handleChange('occupation', [...Array(minRooms)].map(() => (0, _prepareRoom.prepareRoom)(occupation)));
79
- // eslint-disable-next-line react-hooks/exhaustive-deps
80
- }, [dataSource]);
81
- (0, _react.useEffect)(() => {
82
- visible && setVisited({
83
- ...visited,
84
- ["".concat(visible)]: true
85
- });
86
- }, [visible]);
87
- const handleChange = (field, fieldValue) => {
88
- if (!dataSource) return;
89
- set({
90
- deals: {
91
- ...value,
92
- [field]: fieldValue
93
- }
94
- });
95
- };
96
- const handleClear = () => {
97
- set({
98
- deals: undefined
99
- });
100
- setError({});
101
- setVisible();
102
- setVisited(false);
103
- };
104
- const handleClickOutside = function () {
105
- var _ref$current;
106
- let {
107
- target
108
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
109
- return !((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(target)) && target.type !== 'text' && setVisible();
110
- };
111
- const handlePageShow = async function () {
112
- let {
113
- persisted
114
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
115
- if (!persisted) return;
116
- setBusy(false);
117
- handleClear();
118
- setDataSource(await getDataSource());
119
- };
120
- const handleSubmit = () => {
121
- setBusy(true);
122
- const {
123
- calendar,
124
- occupation,
125
- promoCode
126
- } = value;
127
- const params = {
128
- idoffers: offerId,
129
- idtokenprovider: hotel.id,
130
- lang: language,
131
- checkin: (0, _locale.dateFormat)(calendar[0], {
132
- format: 'DD/MM/YYYY'
133
- }),
134
- nights: (0, _locale.dateDiff)(calendar[0], calendar[1]).days,
135
- clientCode: promoCode || '',
136
- currency: (0, _helpers.getCurrency)({
137
- urlParams,
138
- cookies,
139
- currency
140
- }) || '',
141
- parties: window.btoa(JSON.stringify((0, _toParties.toParties)(occupation))),
142
- hsri: origin.commissionCode
143
- };
144
- window.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_Deals2.REDIRECT_PATH).concat((0, _helpers2.toQueryString)(params));
145
- setBusy(true);
146
- };
147
- const getDataSource = () => _services.ServiceDeals.get({
148
- ...store,
149
- currency: (0, _helpers.getCurrency)({
150
- cookies,
151
- currency,
152
- urlParams
153
- }),
154
- hotel,
155
- locale,
17
+ return /*#__PURE__*/_react.default.createElement(_RatesExplorer.RatesExplorer, _extends({
156
18
  offerId
157
- }).catch(() => {});
158
- const {
159
- calendar = [],
160
- occupation,
161
- promoCode = ''
162
- } = value;
163
- const isValid = (0, _helpers.validate)({
164
- dataSource,
165
- error,
166
- value
167
- });
168
- return !skeleton ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
169
- role: "deals",
170
- className: (0, _ui.styles)(style.deals, others.className)
171
- }), /*#__PURE__*/_react.default.createElement(_ui.View, {
172
- row: true,
173
- className: style.header
174
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
175
- bold: true,
176
- headline: true,
177
- level: isMobile ? 3 : 2,
178
- markdown: false,
179
- className: style.text
180
- }, translate(_Deals3.L10N.LABEL_SELECT_DATES_PERSONS)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
181
- small: isMobile,
182
- transparent: true,
183
- onPress: handleClear,
184
- testId: "deals-button-clear"
185
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
186
- value: _helpers2.ICON.CLEAR
187
- }), translate(_Deals3.L10N.ACTION_CLEAR))), /*#__PURE__*/_react.default.createElement(_Deals.Calendar, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.calendar, {
188
- value: calendar,
189
- visible: visible === _Deals2.FIELD.CALENDAR,
190
- visited: visited.calendar,
191
- onChange: (calendar, event) => handleChange('calendar', calendar, event),
192
- onPress: () => setVisible(visible !== _Deals2.FIELD.CALENDAR ? _Deals2.FIELD.CALENDAR : undefined),
193
- testId: "deals-calendar"
194
- })), /*#__PURE__*/_react.default.createElement(_ui.View, {
195
- row: !isMobile,
196
- className: style.extras
197
- }, /*#__PURE__*/_react.default.createElement(_shared__.FieldOccupation, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.occupation, {
198
- error: !!error.occupation,
199
- hideLabel: !isMobile,
200
- hotels: [hotel === null || hotel === void 0 ? void 0 : hotel.id],
201
- ref: ref,
202
- value: occupation,
203
- visible: visible === _Deals2.FIELD.OCCUPATION,
204
- onChange: occupation => handleChange('occupation', occupation),
205
- onError: occupation => {
206
- if (!isMobile && visible !== _Deals2.FIELD.OCCUPATION) setVisible(_Deals2.FIELD.OCCUPATION);
207
- setError({
208
- ...error,
209
- occupation
210
- });
211
- },
212
- onPress: () => setVisible(visible !== _Deals2.FIELD.OCCUPATION ? _Deals2.FIELD.OCCUPATION : undefined),
213
- onValid: () => setError({
214
- ...error,
215
- occupation: undefined
216
- }),
217
- testId: "deals-occupation"
218
- })), /*#__PURE__*/_react.default.createElement(_shared__.FieldPromocode, {
219
- value: promoCode,
220
- visible: visible === _Deals2.FIELD.PROMOCODE,
221
- onChange: promoCode => handleChange('promoCode', promoCode),
222
- onEnter: () => setVisible(_Deals2.FIELD.PROMOCODE),
223
- onLeave: () => setVisible(undefined),
224
- testId: "deals-promocode"
225
- }), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
226
- className: style.footer
227
- }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
228
- busy: busy,
229
- disabled: !isValid,
230
- large: true,
231
- wide: isMobile,
232
- onPress: handleSubmit,
233
- className: style.cta,
234
- testId: "deals-button"
235
- }, translate(_Deals3.L10N.ACTION_SEARCH)))) : /*#__PURE__*/_react.default.createElement(_Deals4.default, null);
19
+ }, others));
236
20
  };
237
21
  exports.Deals = Deals;
22
+ Deals.displayName = 'Mirai:Core:Deals';
238
23
  Deals.propTypes = {
239
24
  id: _propTypes.default.string
240
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_Deals4","_helpers","_prepareRoom","_shared__","_toParties","_helpers2","_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","Deals","_ref","id","offerId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","getDataSource","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","_ref$current","current","contains","type","persisted","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","getCurrency","parties","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","catch","isValid","validate","createElement","View","role","className","styles","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","small","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hideLabel","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","disabled","large","wide","cta","ACTION_SEARCH","exports","propTypes","PropTypes","string"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport Skeleton from './Deals.skeleton';\nimport { getCurrency, validate } from './helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals: value = {},\n hotel,\n language,\n locale,\n origin,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisible();\n setVisited(false);\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {});\n\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return !skeleton ? (\n <View {...others} role=\"deals\" className={styles(style.deals, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button small={isMobile} transparent onPress={handleClear} testId=\"deals-button-clear\">\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId=\"deals-calendar\"\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId=\"deals-occupation\"\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId=\"deals-promocode\"\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId=\"deals-button\"\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nDeals.propTypes = {\n id: PropTypes.string,\n};\n\nexport { Deals };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Deals.js","names":["_propTypes","_interopRequireDefault","require","_react","_RatesExplorer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Deals","_ref","id","offerId","others","createElement","RatesExplorer","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { RatesExplorer } from '../__shared__/RatesExplorer';\n\nconst Deals = ({ id: offerId, ...others }) => <RatesExplorer {...{ offerId, ...others }} />;\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n};\n\nexport { Deals };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAE5D,MAAMQ,KAAK,GAAGC,IAAA;EAAA,IAAC;IAAEC,EAAE,EAAEC,OAAO;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EAAA,oBAAKpB,MAAA,CAAAI,OAAA,CAAAoB,aAAA,CAACvB,cAAA,CAAAwB,aAAa,EAAApB,QAAA;IAAOiB;EAAO,GAAKC,MAAM,CAAK,CAAC;AAAA;AAACG,OAAA,CAAAP,KAAA,GAAAA,KAAA;AAE5FA,KAAK,CAACQ,WAAW,GAAG,kBAAkB;AAEtCR,KAAK,CAACS,SAAS,GAAG;EAChBP,EAAE,EAAEQ,kBAAS,CAACC;AAChB,CAAC"}
@@ -26,7 +26,6 @@ const ModalExtras = _ref => {
26
26
  extras: propExtras = [],
27
27
  taxesType,
28
28
  visible = false,
29
- onCancel = () => {},
30
29
  onSubmit = () => {},
31
30
  ...others
32
31
  } = _ref;
@@ -44,8 +43,7 @@ const ModalExtras = _ref => {
44
43
  hotel: {
45
44
  accommodationType: hotelAccommodationType,
46
45
  variants = {}
47
- } = {},
48
- variant
46
+ } = {}
49
47
  } = {}
50
48
  } = (0, _dataSources.useStore)();
51
49
  const [extras, setExtras] = (0, _react.useState)(propExtras);
@@ -155,7 +153,7 @@ const ModalExtras = _ref => {
155
153
  fit: true,
156
154
  title: translate(_ModalExtras.L10N.LABEL_ENHANCED_YOUR_STAY),
157
155
  visible: visible,
158
- onClose: variant === 'A' ? onCancel : handleSubmit,
156
+ onClose: handleSubmit,
159
157
  className: style.modal,
160
158
  testId: testId
161
159
  }, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
@@ -310,7 +308,7 @@ const ModalExtras = _ref => {
310
308
  busy: busy,
311
309
  onPress: handleSubmit,
312
310
  testId: testId ? "".concat(testId, "-submit") : undefined
313
- }, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE : variant === 'A' ? _ModalExtras.L10N.ACTION_NEXT : _ModalExtras.L10N.ACTION_CONTINUE_WITHOUT_EXTRAS))));
311
+ }, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE : _ModalExtras.L10N.ACTION_CONTINUE_WITHOUT_EXTRAS))));
314
312
  };
315
313
  exports.ModalExtras = ModalExtras;
316
314
  ModalExtras.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","variant","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: {\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n variant,\n } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={variant === 'A' ? onCancel : handleSubmit}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(\n hasSelected\n ? L10N.ACTION_RESERVE\n : variant === 'A'\n ? L10N.ACTION_NEXT\n : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS,\n )}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={handleSubmit}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Rooms = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _RatesExplorer = require("../__shared__/RatesExplorer");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
+ const Rooms = _ref => {
13
+ let {
14
+ id: roomId,
15
+ ...others
16
+ } = _ref;
17
+ return /*#__PURE__*/_react.default.createElement(_RatesExplorer.RatesExplorer, _extends({
18
+ roomId
19
+ }, others));
20
+ };
21
+ exports.Rooms = Rooms;
22
+ Rooms.displayName = 'Mirai:Core:Rooms';
23
+ Rooms.propTypes = {
24
+ id: _propTypes.default.string
25
+ };
26
+ //# sourceMappingURL=Rooms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rooms.js","names":["_propTypes","_interopRequireDefault","require","_react","_RatesExplorer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Rooms","_ref","id","roomId","others","createElement","RatesExplorer","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rooms/Rooms.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { RatesExplorer } from '../__shared__/RatesExplorer';\n\nconst Rooms = ({ id: roomId, ...others }) => <RatesExplorer {...{ roomId, ...others }} />;\n\nRooms.displayName = 'Mirai:Core:Rooms';\n\nRooms.propTypes = {\n id: PropTypes.string,\n};\n\nexport { Rooms };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAE5D,MAAMQ,KAAK,GAAGC,IAAA;EAAA,IAAC;IAAEC,EAAE,EAAEC,MAAM;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EAAA,oBAAKpB,MAAA,CAAAI,OAAA,CAAAoB,aAAA,CAACvB,cAAA,CAAAwB,aAAa,EAAApB,QAAA;IAAOiB;EAAM,GAAKC,MAAM,CAAK,CAAC;AAAA;AAACG,OAAA,CAAAP,KAAA,GAAAA,KAAA;AAE1FA,KAAK,CAACQ,WAAW,GAAG,kBAAkB;AAEtCR,KAAK,CAACS,SAAS,GAAG;EAChBP,EAAE,EAAEQ,kBAAS,CAACC;AAChB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Rooms", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Rooms.Rooms;
10
+ }
11
+ });
12
+ var _Rooms = require("./Rooms");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Rooms","require"],"sources":["../../../src/components/Rooms/index.js"],"sourcesContent":["export { Rooms } from './Rooms';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA"}
@@ -9,13 +9,13 @@ var _locale = require("@mirai/locale");
9
9
  var _ui = require("@mirai/ui");
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
- var _Deals = require("./Deals.constants");
13
- var _Deals2 = require("./Deals.l10n");
14
- var style = _interopRequireWildcard(require("./Deals.module.css"));
15
12
  var _helpers = require("./helpers");
16
- var _shared__ = require("../__shared__");
17
- var _helpers2 = require("../Finder/helpers");
18
- var _helpers3 = require("../helpers");
13
+ var _RatesExplorer = require("./RatesExplorer.constants");
14
+ var _RatesExplorer2 = require("./RatesExplorer.l10n");
15
+ var style = _interopRequireWildcard(require("./RatesExplorer.module.css"));
16
+ var _ = require("../");
17
+ var _helpers2 = require("../../Finder/helpers");
18
+ var _helpers3 = require("../../helpers");
19
19
  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); }
20
20
  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; }
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -80,11 +80,11 @@ const Calendar = _ref => {
80
80
  hotels: (0, _helpers2.getHotels)((_getDataSource2 = (0, _helpers2.getDataSource)(store)) === null || _getDataSource2 === void 0 ? void 0 : _getDataSource2.placesSource, tagId),
81
81
  individual: individual && typeof individual === 'object' ? individual[id] : individual
82
82
  });
83
- return /*#__PURE__*/_react.default.createElement(isMobile ? _shared__.Field : _react.Fragment, isMobile ? {
83
+ return /*#__PURE__*/_react.default.createElement(isMobile ? _.Field : _react.Fragment, isMobile ? {
84
84
  caption: value.length ? (0, _helpers3.getCalendarCaption)((0, _helpers3.parseValue)(value), translate, _locale.dateFormat, locale) : undefined,
85
85
  error: visited && (!from || !to),
86
86
  icon: _helpers3.ICON.CALENDAR,
87
- label: translate(_Deals2.L10N.LABEL_WHEN),
87
+ label: translate(_RatesExplorer2.L10N.LABEL_WHEN),
88
88
  placeholder: (0, _helpers3.getCalendarCaption)(undefined, translate, _locale.dateFormat, locale),
89
89
  visible,
90
90
  onPress,
@@ -112,10 +112,10 @@ const Calendar = _ref => {
112
112
  }),
113
113
  value,
114
114
  onFocus: setFocus,
115
- className: (0, _ui.styles)(style.content, height <= _Deals.DEVICE_XS_HEIGHT && style.calendarXS)
115
+ className: (0, _ui.styles)(style.content, height <= _RatesExplorer.DEVICE_XS_HEIGHT && style.calendarXS)
116
116
  })), /*#__PURE__*/_react.default.createElement(_ui.View, {
117
117
  className: style.calendarInfo
118
- }, !isMobile && /*#__PURE__*/_react.default.createElement(_shared__.BookingDates, {
118
+ }, !isMobile && /*#__PURE__*/_react.default.createElement(_.BookingDates, {
119
119
  focus,
120
120
  from,
121
121
  rangeMinDays,
@@ -123,8 +123,8 @@ const Calendar = _ref => {
123
123
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
124
124
  small: true,
125
125
  className: style.notification
126
- }, translate(_Deals2.L10N.LABEL_INFO_PRICES, {
127
- accommodation: translate(_Deals2.L10N.LABEL_ACCOMMODATION_TYPE, {
126
+ }, translate(_RatesExplorer2.L10N.LABEL_INFO_PRICES, {
127
+ accommodation: translate(_RatesExplorer2.L10N.LABEL_ACCOMMODATION_TYPE, {
128
128
  type: accommodationType
129
129
  }),
130
130
  currency,
@@ -134,7 +134,7 @@ const Calendar = _ref => {
134
134
  }))), isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
135
135
  row: true,
136
136
  className: style.footer
137
- }, /*#__PURE__*/_react.default.createElement(_shared__.BookingDates, {
137
+ }, /*#__PURE__*/_react.default.createElement(_.BookingDates, {
138
138
  focus,
139
139
  from,
140
140
  rangeMinDays,
@@ -143,10 +143,10 @@ const Calendar = _ref => {
143
143
  disabled: !from || !to,
144
144
  onPress: onPress,
145
145
  testId: "".concat(others.testId, "-button-next")
146
- }, translate(_Deals2.L10N.ACTION_NEXT)))));
146
+ }, translate(_RatesExplorer2.L10N.ACTION_NEXT)))));
147
147
  };
148
148
  exports.Calendar = Calendar;
149
- Calendar.displayName = 'Mirai:Core:Deals:Calendar';
149
+ Calendar.displayName = 'Mirai:Core:RatesExplorer:Calendar';
150
150
  Calendar.propTypes = {
151
151
  captions: _propTypes.default.shape({}),
152
152
  highlights: _propTypes.default.arrayOf(_propTypes.default.string),
@@ -164,4 +164,4 @@ Calendar.propTypes = {
164
164
  onChange: _propTypes.default.func,
165
165
  onPress: _propTypes.default.func
166
166
  };
167
- //# sourceMappingURL=Deals.Calendar.js.map
167
+ //# sourceMappingURL=RatesExplorer.Calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatesExplorer.Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","style","_","_helpers2","_helpers3","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","captions","highlights","minNightsWithDeals","pricesInfo","currency","guests","nights","taxType","rangeMaxDays","rangeMinDays","visible","visited","onPress","others","height","isMobile","useDevice","translate","useLocale","value","locale","store","useStore","focus","setFocus","useState","setValue","valueFormat","useEffect","from","to","parseValue","config","hotels","dataSource","lodgingDenomination","individual","hotel","id","tagId","getDataSource","places","options","find","ids","isHotel","undefined","accommodationType","getAccommodationType","getHotels","placesSource","React","createElement","Field","Fragment","caption","getCalendarCaption","dateFormat","error","icon","ICON","CALENDAR","label","L10N","LABEL_WHEN","placeholder","className","fieldCalendar","testId","concat","format","calcFromDate","months","MONTHS_IN_MOBILE","range","calcToDate","tooltips","calcTooltips","onFocus","styles","content","DEVICE_XS_HEIGHT","calendarXS","View","calendarInfo","BookingDates","Text","small","notification","LABEL_INFO_PRICES","accommodation","LABEL_ACCOMMODATION_TYPE","type","row","footer","Button","disabled","ACTION_NEXT","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","number","bool","onChange","func"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useState } from 'react';\n\nimport { calcFromDate, calcToDate, calcTooltips } from './helpers';\nimport { DEVICE_XS_HEIGHT } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport { BookingDates, Field } from '../';\nimport { getDataSource, getHotels } from '../../Finder/helpers';\nimport {\n CALENDAR_FORMAT as format,\n getAccommodationType,\n getCalendarCaption,\n ICON,\n MONTHS_IN_MOBILE,\n parseValue,\n valueFormat,\n} from '../../helpers';\n\nconst Calendar = ({\n captions = {},\n highlights = [],\n minNightsWithDeals,\n pricesInfo: { currency, guests, nights, taxType } = {},\n rangeMaxDays,\n rangeMinDays,\n visible,\n visited,\n onPress,\n ...others\n}) => {\n const { height, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { locale, ...store },\n } = useStore();\n\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n\n useEffect(() => {\n setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const [from, to] = parseValue(value);\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {}, hotel: { id } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return React.createElement(\n isMobile ? Field : Fragment,\n isMobile\n ? {\n caption: value.length ? getCalendarCaption(parseValue(value), translate, dateFormat, locale) : undefined,\n error: visited && (!from || !to),\n icon: ICON.CALENDAR,\n label: translate(L10N.LABEL_WHEN),\n placeholder: getCalendarCaption(undefined, translate, dateFormat, locale),\n visible,\n onPress,\n className: style.fieldCalendar,\n testId: `${others.testId}-field`,\n }\n : undefined,\n <>\n <CalendarBase\n {...{\n ...others,\n captions,\n format,\n from: calcFromDate(highlights),\n highlights,\n locale,\n months: isMobile ? MONTHS_IN_MOBILE : undefined,\n range: true,\n rangeMaxDays,\n rangeMinDays,\n to: calcToDate(highlights, rangeMaxDays),\n tooltips: calcTooltips({ focus, from, highlights, minNightsWithDeals, rangeMinDays, to, translate }),\n value,\n onFocus: setFocus,\n className: styles(style.content, height <= DEVICE_XS_HEIGHT && style.calendarXS),\n }}\n />\n\n <View className={style.calendarInfo}>\n {!isMobile && <BookingDates {...{ focus, from, rangeMinDays, to }} />}\n\n <Text small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests,\n nights,\n taxType,\n })}\n </Text>\n </View>\n\n {isMobile && (\n <View row className={style.footer}>\n <BookingDates {...{ focus, from, rangeMinDays, to }} />\n\n <Button disabled={!from || !to} onPress={onPress} testId={`${others.testId}-button-next`}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n )}\n </>,\n );\n};\n\nCalendar.displayName = 'Mirai:Core:RatesExplorer:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n highlights: PropTypes.arrayOf(PropTypes.string),\n minNightsWithDeals: PropTypes.number,\n pricesInfo: PropTypes.shape({\n currency: PropTypes.string,\n guests: PropTypes.number,\n nights: PropTypes.number,\n taxType: PropTypes.number,\n }),\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n visible: PropTypes.bool,\n visited: PropTypes.bool,\n onChange: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}