@mirai/core 0.3.389 → 0.3.390

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.
@@ -0,0 +1,14 @@
1
+ import { getWeekNumber } from '../../helpers';
2
+
3
+ export const calendar = async ({ isMobile, page }) => {
4
+ const today = new Date();
5
+ const year = today.getFullYear();
6
+ const week = getWeekNumber(new Date()) + 1;
7
+
8
+ if (isMobile) await page.getByTestId('deals-calendar-field').click();
9
+ await page.getByTestId(`deals-calendar-${year}-${week}-4`).click();
10
+ await page.getByTestId(`deals-calendar-${year}-${week}-6`).click();
11
+
12
+ if (isMobile) await page.getByTestId('deals-calendar-field-modal-button-close').click();
13
+ else await page.getByTestId(`deals-calendar-${year}-${week}-6`).click();
14
+ };
@@ -0,0 +1,7 @@
1
+ import { expect } from '@playwright/test';
2
+
3
+ export const clear = async ({ page }) => {
4
+ await page.getByTestId(`deals-button-clear`).click();
5
+ await expect(await page.locator('[data-testid="deals-promocode-input"]')).toHaveValue('');
6
+ await expect(await page.getAttribute('[data-testid="deals-button"]', 'disabled')).toBe('true');
7
+ };
@@ -0,0 +1,5 @@
1
+ export * from './calendar.workflow';
2
+ export * from './clear.workflow';
3
+ export * from './occupation.workflow';
4
+ export * from './promocode.workflow';
5
+ export * from './submit.workflow';
@@ -0,0 +1,6 @@
1
+ export const occupation = async ({ isMobile, page }) => {
2
+ await page.getByTestId('deals-occupation-field').click();
3
+ await page.getByTestId('group-0-button-max').click();
4
+
5
+ if (isMobile) await page.getByTestId('deals-occupation-field-modal-button-close').click();
6
+ };
@@ -0,0 +1,3 @@
1
+ export const promocode = async ({ page }) => {
2
+ await page.getByTestId('deals-promocode-input').fill('test');
3
+ };
@@ -0,0 +1,6 @@
1
+ import { expect } from '@playwright/test';
2
+
3
+ export const submit = async ({ page }) => {
4
+ await page.getByTestId(`deals-button`).click();
5
+ await expect(page).toHaveURL(/.*step1-rates/, { timeout: 10000 });
6
+ };
@@ -1,9 +1,10 @@
1
1
  import { getWeekNumber } from '../../helpers';
2
2
 
3
3
  export const calendar = async ({ page, testId }) => {
4
+ const year = new Date().getFullYear();
4
5
  const week = getWeekNumber(new Date()) + 1;
5
6
 
6
7
  await page.getByTestId(`${testId}-calendar-field`).click();
7
- await page.getByTestId(`${testId}-calendar-2024-${week}-0`).click();
8
- await page.getByTestId(`${testId}-calendar-2024-${week}-5`).click();
8
+ await page.getByTestId(`${testId}-calendar-${year}-${week}-0`).click();
9
+ await page.getByTestId(`${testId}-calendar-${year}-${week}-5`).click();
9
10
  };
@@ -0,0 +1,23 @@
1
+ import { test } from '@playwright/test';
2
+
3
+ import { calendar, clear, occupation, promocode, submit } from './Deals/workflows';
4
+
5
+ test.beforeEach(async ({ context, page }) => {
6
+ await context.addInitScript(() => (window.IS_PLAYWRIGHT = true));
7
+
8
+ await page.goto('http://local.mirai.com:8080/deals', { waitUntil: 'networkidle', timeout: 10000 });
9
+ });
10
+
11
+ test('Search (default)', async ({ isMobile, page }) => {
12
+ await calendar({ isMobile, page });
13
+ await occupation({ isMobile, page });
14
+ await promocode({ isMobile, page });
15
+ await submit({ isMobile, page });
16
+ });
17
+
18
+ test('Fulfill form & clear', async ({ isMobile, page }) => {
19
+ await calendar({ isMobile, page });
20
+ await occupation({ isMobile, page });
21
+ await promocode({ isMobile, page });
22
+ await clear({ isMobile, page });
23
+ });
@@ -84,7 +84,8 @@ const Calendar = _ref => {
84
84
  placeholder: (0, _helpers3.getCalendarCaption)(undefined, translate, _locale.dateFormat, locale),
85
85
  visible,
86
86
  onPress,
87
- className: style.fieldCalendar
87
+ className: style.fieldCalendar,
88
+ testId: "".concat(others.testId, "-field")
88
89
  } : undefined, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Calendar, _extends({}, others, {
89
90
  captions,
90
91
  format: _helpers3.CALENDAR_FORMAT,
@@ -136,7 +137,8 @@ const Calendar = _ref => {
136
137
  to
137
138
  }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
138
139
  disabled: !from || !to,
139
- onPress: onPress
140
+ onPress: onPress,
141
+ testId: "".concat(others.testId, "-button-next")
140
142
  }, translate(_Deals2.L10N.ACTION_NEXT)))));
141
143
  };
142
144
  exports.Calendar = Calendar;
@@ -1 +1 @@
1
- {"version":3,"file":"Deals.Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","style","_helpers","_shared__","_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","value","visible","visited","onPress","others","height","isMobile","useDevice","translate","useLocale","locale","store","useStore","focus","setFocus","useState","from","to","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","format","calcFromDate","months","MONTHS_IN_MOBILE","range","calcToDate","tooltips","calcTooltips","onFocus","styles","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","instanceOf","Date","bool","onChange","func"],"sources":["../../../src/components/Deals/Deals.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, useState } from 'react';\n\nimport { DEVICE_XS_HEIGHT } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { calcFromDate, calcToDate, calcTooltips } from './helpers';\nimport { BookingDates, Field } from '../__shared__';\nimport { getDataSource, getHotels } from '../Finder/helpers';\nimport { CALENDAR_FORMAT as format, MONTHS_IN_MOBILE } from '../helpers';\nimport { getAccommodationType, getCalendarCaption, ICON } from '../helpers';\n\nconst Calendar = ({\n captions = {},\n highlights = [],\n minNightsWithDeals,\n pricesInfo: { currency, guests, nights, taxType } = {},\n rangeMaxDays,\n rangeMinDays,\n value = [],\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\n const [from, to] = 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(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 }\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: [from ? dateFormat(from) : undefined, to ? dateFormat(to) : undefined],\n onFocus: setFocus,\n className: styles(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}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n )}\n </>,\n );\n};\n\nCalendar.displayName = 'Mirai:Core:Deals: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 value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\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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"}
1
+ {"version":3,"file":"Deals.Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","style","_helpers","_shared__","_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","value","visible","visited","onPress","others","height","isMobile","useDevice","translate","useLocale","locale","store","useStore","focus","setFocus","useState","from","to","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","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","instanceOf","Date","bool","onChange","func"],"sources":["../../../src/components/Deals/Deals.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, useState } from 'react';\n\nimport { DEVICE_XS_HEIGHT } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { calcFromDate, calcToDate, calcTooltips } from './helpers';\nimport { BookingDates, Field } from '../__shared__';\nimport { getDataSource, getHotels } from '../Finder/helpers';\nimport { CALENDAR_FORMAT as format, MONTHS_IN_MOBILE } from '../helpers';\nimport { getAccommodationType, getCalendarCaption, ICON } from '../helpers';\n\nconst Calendar = ({\n captions = {},\n highlights = [],\n minNightsWithDeals,\n pricesInfo: { currency, guests, nights, taxType } = {},\n rangeMaxDays,\n rangeMinDays,\n value = [],\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\n const [from, to] = 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(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: [from ? dateFormat(from) : undefined, to ? dateFormat(to) : undefined],\n onFocus: setFocus,\n className: styles(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:Deals: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 value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\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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"}
@@ -154,10 +154,6 @@ const Deals = _ref => {
154
154
  locale,
155
155
  offerId
156
156
  }).catch(() => {});
157
- const {
158
- className,
159
- testId
160
- } = others;
161
157
  const {
162
158
  calendar = [],
163
159
  occupation,
@@ -168,11 +164,10 @@ const Deals = _ref => {
168
164
  error,
169
165
  value
170
166
  });
171
- return /*#__PURE__*/_react.default.createElement(_ui.View, {
167
+ return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
172
168
  role: "deals",
173
- testId: others.testId,
174
- className: (0, _ui.styles)(style.deals, className)
175
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
169
+ className: (0, _ui.styles)(style.deals, others.className)
170
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
176
171
  row: true,
177
172
  className: style.header
178
173
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
@@ -182,8 +177,10 @@ const Deals = _ref => {
182
177
  markdown: false,
183
178
  className: style.text
184
179
  }, translate(_Deals3.L10N.LABEL_SELECT_DATES_PERSONS)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
180
+ small: isMobile,
185
181
  transparent: true,
186
- onPress: handleClear
182
+ onPress: handleClear,
183
+ testId: "deals-button-clear"
187
184
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
188
185
  value: _helpers2.ICON.CLEAR
189
186
  }), translate(_Deals3.L10N.ACTION_CLEAR))), /*#__PURE__*/_react.default.createElement(_Deals.Calendar, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.calendar, {
@@ -192,7 +189,7 @@ const Deals = _ref => {
192
189
  visited: visited.calendar,
193
190
  onChange: (calendar, event) => handleChange('calendar', calendar, event),
194
191
  onPress: () => setVisible(visible !== _Deals2.FIELD.CALENDAR ? _Deals2.FIELD.CALENDAR : undefined),
195
- testId: testId ? "".concat(testId, "-calendar") : undefined
192
+ testId: "deals-calendar"
196
193
  })), /*#__PURE__*/_react.default.createElement(_ui.View, {
197
194
  row: !isMobile,
198
195
  className: style.extras
@@ -216,14 +213,14 @@ const Deals = _ref => {
216
213
  ...error,
217
214
  occupation: undefined
218
215
  }),
219
- testId: testId ? "".concat(testId, "-occupation") : undefined
216
+ testId: "deals-occupation"
220
217
  })), /*#__PURE__*/_react.default.createElement(_shared__.FieldPromocode, {
221
218
  value: promoCode,
222
219
  visible: visible === _Deals2.FIELD.PROMOCODE,
223
220
  onChange: promoCode => handleChange('promoCode', promoCode),
224
221
  onEnter: () => setVisible(_Deals2.FIELD.PROMOCODE),
225
222
  onLeave: () => setVisible(undefined),
226
- testId: testId ? "".concat(testId, "-promocode") : undefined
223
+ testId: "deals-promocode"
227
224
  }), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
228
225
  className: style.footer
229
226
  }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
@@ -233,11 +230,10 @@ const Deals = _ref => {
233
230
  wide: isMobile,
234
231
  onPress: handleSubmit,
235
232
  className: style.cta,
236
- testId: testId ? "".concat(testId, "-submit") : undefined
233
+ testId: "deals-button"
237
234
  }, translate(_Deals3.L10N.ACTION_SEARCH))));
238
235
  };
239
236
  exports.Deals = Deals;
240
- Deals.displayName = 'Mirai:Core:Deals';
241
237
  Deals.propTypes = {
242
238
  id: _propTypes.default.string,
243
239
  skeleton: _propTypes.default.bool
@@ -1 +1 @@
1
- {"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_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","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","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","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","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","displayName","propTypes","PropTypes","string","bool"],"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 { 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, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\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 { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View role=\"deals\" testId={others.testId} className={styles(style.deals, 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 transparent onPress={handleClear}>\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={testId ? `${testId}-calendar` : undefined}\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={testId ? `${testId}-occupation` : undefined}\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={testId ? `${testId}-promocode` : undefined}\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={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_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","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","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","bool"],"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 { 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, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\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 (\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};\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  .header {
2
2
  border-bottom: solid 1px var(--mirai-ui-content-border);
3
3
  justify-content: space-between;
4
- padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-M);
4
+ padding: var(--mirai-ui-space-XS);
5
5
  }
6
6
 
7
7
  .header .text {
8
8
  overflow: hidden;
9
+ padding-left: var(--mirai-ui-space-XS);
9
10
  text-overflow: ellipsis;
10
11
  white-space: nowrap;
11
12
  }