@mirai/core 0.3.291 → 0.3.293

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 (32) hide show
  1. package/build/components/Deals/Deals.module.css +1 -7
  2. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +20 -0
  3. package/build/components/Finder/Finder.compact.js +3 -2
  4. package/build/components/Finder/Finder.compact.js.map +1 -1
  5. package/build/components/Finder/Finder.js +20 -7
  6. package/build/components/Finder/Finder.js.map +1 -1
  7. package/build/components/Finder/Finder.module.css +55 -64
  8. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +226 -2
  9. package/build/components/Finder/components/Calendar/Calendar.module.css +0 -4
  10. package/build/components/Finder/components/Places/Places.module.css +0 -10
  11. package/build/components/Header/Header.module.css +0 -8
  12. package/build/components/Rates/Rates.js +1 -1
  13. package/build/components/Rates/Rates.js.map +1 -1
  14. package/build/components/Rates/Rates.l10n.js +0 -3
  15. package/build/components/Rates/Rates.l10n.js.map +1 -1
  16. package/build/components/__shared__/Card/Card.module.css +0 -4
  17. package/build/components/__shared__/Field/Field.js +9 -6
  18. package/build/components/__shared__/Field/Field.js.map +1 -1
  19. package/build/components/__shared__/Field/Field.module.css +41 -53
  20. package/build/components/__shared__/Field/__tests__/__snapshots__/Field.test.js.snap +140 -0
  21. package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -0
  22. package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
  23. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +35 -0
  24. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +7 -1
  25. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  26. package/build/components/__shared__/FieldPromocode/FieldPromocode.module.css +6 -3
  27. package/build/components/__shared__/Occupation/Occupation.module.css +0 -6
  28. package/build/theme.css +53 -4
  29. package/package.json +1 -1
  30. package/public/routes/Home.jsx +2 -4
  31. package/public/routes/routes.module.css +18 -20
  32. package/public/themes/monalisa.theme.css +27 -4
@@ -1,9 +1,3 @@
1
- :root {
2
- --mirai-deals-modal-z-index: 601;
3
- --mirai-deals-notification-max-width: calc(var(--mirai-ui-calendar-cell) * 14 + var(--mirai-ui-calendar-padding) * 2);
4
- --mirai-ui-modal-layer: var(--mirai-deals-modal-z-index);
5
- }
6
-
7
1
  .action {
8
2
  color: var(--mirai-ui-content-light);
9
3
  display: flex;
@@ -98,7 +92,7 @@
98
92
  }
99
93
 
100
94
  .cta {
101
- height: var(--mirai-finder-field-height);
95
+ height: var(--mirai-field-height);
102
96
  }
103
97
  }
104
98
 
@@ -1625,6 +1625,11 @@ exports[`component:<Deals> inherit:className 1`] = `
1625
1625
  <div
1626
1626
  class="view"
1627
1627
  >
1628
+ <span
1629
+ class="text small"
1630
+ >
1631
+ finder.label.who
1632
+ </span>
1628
1633
  <span
1629
1634
  class="text action"
1630
1635
  >
@@ -3569,6 +3574,11 @@ exports[`component:<Deals> prop:value 1`] = `
3569
3574
  <div
3570
3575
  class="view"
3571
3576
  >
3577
+ <span
3578
+ class="text small"
3579
+ >
3580
+ finder.label.who
3581
+ </span>
3572
3582
  <span
3573
3583
  class="text action"
3574
3584
  >
@@ -5665,6 +5675,11 @@ exports[`component:<Deals> renders 1`] = `
5665
5675
  <div
5666
5676
  class="view"
5667
5677
  >
5678
+ <span
5679
+ class="text small"
5680
+ >
5681
+ finder.label.who
5682
+ </span>
5668
5683
  <span
5669
5684
  class="text action"
5670
5685
  >
@@ -7608,6 +7623,11 @@ exports[`component:<Deals> testID 1`] = `
7608
7623
  <div
7609
7624
  class="view"
7610
7625
  >
7626
+ <span
7627
+ class="text small"
7628
+ >
7629
+ finder.label.who
7630
+ </span>
7611
7631
  <span
7612
7632
  class="text action"
7613
7633
  >
@@ -68,7 +68,7 @@ const Compact = function () {
68
68
  const direction = _ui.Theme.getDirection();
69
69
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
70
70
  row: true,
71
- className: (0, _ui.styles)(style.compact, direction === LEFT ? style.directionLeft : style.directionRight)
71
+ className: (0, _ui.styles)(style.finder, style.compact, direction === LEFT ? style.directionLeft : style.directionRight)
72
72
  }, place && /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
73
73
  onPress: () => onExpand(_Finder.VIEW.PLACE)
74
74
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, icon, {
@@ -103,7 +103,8 @@ const Compact = function () {
103
103
  }), promocode)), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Button, {
104
104
  small: true,
105
105
  squared: true,
106
- onPress: onSubmit
106
+ onPress: onSubmit,
107
+ className: style.button
107
108
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
108
109
  value: _helpers2.ICON.SEARCH
109
110
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","style","_interopRequireWildcard","_helpers","_BookingDates","_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","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","undefined","isMobile","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","useStore","getHotels","icon","className","text","action","direction","Theme","getDirection","createElement","View","row","styles","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","Icon","FIELD","Text","textEllipsis","getPlaceCaption","options","CALENDAR","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","Button","small","squared","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { VIEW } from './Finder.constants';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit = () => {},\n} = {}) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {}, locale },\n } = useStore();\n\n const hotels = getHotels(placesSource, place);\n\n const icon = { className: style.icon };\n const text = { action: true };\n const direction = Theme.getDirection();\n\n return (\n <View row className={styles(style.compact, direction === LEFT ? style.directionLeft : style.directionRight)}>\n {place && (\n <Pressable onPress={() => onExpand(VIEW.PLACE)}>\n <Icon {...icon} value={FIELD.PLACE.icon} />\n {!isMobile && (\n <Text {...text} className={[style.place, style.textEllipsis]}>\n {getPlaceCaption(place, places.options)}\n </Text>\n )}\n </Pressable>\n )}\n\n <Pressable onPress={() => onExpand(VIEW.CALENDAR)} className={style.calendar}>\n <Icon {...icon} value={FIELD.CALENDAR.icon} />\n <Text {...text}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} ─ ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.OCCUPATION)}>\n <Icon {...icon} value={FIELD.OCCUPATION.icon} />\n <Text {...text}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.PROMOCODE)}>\n <Icon {...icon} value={FIELD.PROMOCODE.icon} />\n {promocode && (\n <Text {...text} className={[style.promocode, style.textEllipsis]}>\n {promocode}\n </Text>\n )}\n </Pressable>\n\n {!isMobile && (\n <Button small squared onPress={onSubmit}>\n <Icon value={ICON.SEARCH} />\n </Button>\n )}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","style","_interopRequireWildcard","_helpers","_BookingDates","_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","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","undefined","isMobile","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","useStore","getHotels","icon","className","text","action","direction","Theme","getDirection","createElement","View","row","styles","finder","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","Icon","FIELD","Text","textEllipsis","getPlaceCaption","options","CALENDAR","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","Button","small","squared","button","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { VIEW } from './Finder.constants';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit = () => {},\n} = {}) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {}, locale },\n } = useStore();\n\n const hotels = getHotels(placesSource, place);\n\n const icon = { className: style.icon };\n const text = { action: true };\n const direction = Theme.getDirection();\n\n return (\n <View\n row\n className={styles(style.finder, style.compact, direction === LEFT ? style.directionLeft : style.directionRight)}\n >\n {place && (\n <Pressable onPress={() => onExpand(VIEW.PLACE)}>\n <Icon {...icon} value={FIELD.PLACE.icon} />\n {!isMobile && (\n <Text {...text} className={[style.place, style.textEllipsis]}>\n {getPlaceCaption(place, places.options)}\n </Text>\n )}\n </Pressable>\n )}\n\n <Pressable onPress={() => onExpand(VIEW.CALENDAR)} className={style.calendar}>\n <Icon {...icon} value={FIELD.CALENDAR.icon} />\n <Text {...text}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} ─ ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.OCCUPATION)}>\n <Icon {...icon} value={FIELD.OCCUPATION.icon} />\n <Text {...text}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.PROMOCODE)}>\n <Icon {...icon} value={FIELD.PROMOCODE.icon} />\n {promocode && (\n <Text {...text} className={[style.promocode, style.textEllipsis]}>\n {promocode}\n </Text>\n )}\n </Pressable>\n\n {!isMobile && (\n <Button small squared onPress={onSubmit} className={style.button}>\n <Icon value={ICON.SEARCH} />\n </Button>\n )}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
@@ -34,6 +34,8 @@ const Finder = _ref => {
34
34
  let {
35
35
  assisted = true,
36
36
  compacted = false,
37
+ icon = false,
38
+ inline = true,
37
39
  layout,
38
40
  text,
39
41
  onChange = () => {},
@@ -219,6 +221,7 @@ const Finder = _ref => {
219
221
  };
220
222
  const fieldProps = {
221
223
  compacted: is.compacted,
224
+ inline,
222
225
  className: style.field,
223
226
  ...(is.column ? {
224
227
  centered: true,
@@ -238,8 +241,8 @@ const Finder = _ref => {
238
241
  ref: ref,
239
242
  row: !isMobile,
240
243
  testId: others.testId,
241
- className: (0, _ui.styles)(style.finder, layout && style[layout], others.className)
242
- }, dataSource.places && /*#__PURE__*/_react.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.PLACE, {
244
+ className: !is.compacted ? (0, _ui.styles)(style.finder, inline && style.inline, layout && style[layout], others.className) : undefined
245
+ }, dataSource.places && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.PLACE, {
243
246
  caption: (0, _helpers.getPlaceCaption)(place.value, dataSource.places.options),
244
247
  label: translate(_Finder3.L10N.LABEL_WHERE),
245
248
  placeholder: dataSource.places.placeholder || translate(_Finder3.L10N.LABEL_WHERE_PLACEHOLDER),
@@ -253,6 +256,8 @@ const Finder = _ref => {
253
256
  onChange: handlePlaceChange,
254
257
  onSubmit: isMobile ? compacted ? handleSubmit : assisted ? assistant : undefined : undefined,
255
258
  testId: others.testId ? "".concat(others.testId, "-places") : undefined
259
+ })), inline && /*#__PURE__*/_react.default.createElement(_ui.View, {
260
+ className: style.separator
256
261
  })), /*#__PURE__*/_react.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.CALENDAR, {
257
262
  caption: calendar.length ? (0, _helpers3.getCalendarCaption)(calendar, translate, dateFormat) : undefined,
258
263
  centered: type !== HOTEL,
@@ -283,7 +288,9 @@ const Finder = _ref => {
283
288
  onSubmit: isMobile ? compacted ? handleSubmit : assisted ? assistant : undefined : undefined,
284
289
  className: (0, _ui.styles)((calendarPosition === null || calendarPosition === void 0 ? void 0 : calendarPosition.top) && style.calendarOnTop),
285
290
  testId: others.testId ? "".concat(others.testId, "-calendar") : undefined
286
- }))), /*#__PURE__*/_react.default.createElement(_shared__.FieldOccupation, _extends({
291
+ }))), inline && /*#__PURE__*/_react.default.createElement(_ui.View, {
292
+ className: style.separator
293
+ }), /*#__PURE__*/_react.default.createElement(_shared__.FieldOccupation, _extends({
287
294
  dataSource: (0, _helpers.getOccupationDataSource)({
288
295
  ...dataSource,
289
296
  places: (_dataSource$places = dataSource.places) === null || _dataSource$places === void 0 ? void 0 : _dataSource$places.options,
@@ -309,7 +316,9 @@ const Finder = _ref => {
309
316
  occupation: undefined
310
317
  }),
311
318
  testId: others.testId ? "".concat(others.testId, "-occupation") : undefined
312
- }, fieldProps)), /*#__PURE__*/_react.default.createElement(_shared__.FieldPromocode, _extends({
319
+ }, fieldProps)), inline && /*#__PURE__*/_react.default.createElement(_ui.View, {
320
+ className: style.separator
321
+ }), /*#__PURE__*/_react.default.createElement(_shared__.FieldPromocode, _extends({
313
322
  value: promocode,
314
323
  visible: focus === _Finder2.VIEW.PROMOCODE,
315
324
  onChange: (promocode, event) => handleChange(_Finder2.VIEW.PROMOCODE, promocode, event),
@@ -320,11 +329,13 @@ const Finder = _ref => {
320
329
  testId: others.testId ? "".concat(others.testId, "-promocode") : undefined
321
330
  }, fieldProps)), !is.compacted && /*#__PURE__*/_react.default.createElement(_ui.Button, {
322
331
  large: true,
323
- wide: isMobile,
332
+ wide: isMobile || is.column,
324
333
  onPress: handleSubmit,
325
- className: style.button,
334
+ className: (0, _ui.styles)(style.button, icon && !is.column && style.withIcon),
326
335
  testId: others.testId ? "".concat(others.testId, "-submit") : undefined
327
- }, text || translate(_Finder3.L10N.ACTION_SEARCH))));
336
+ }, icon && !is.column ? /*#__PURE__*/_react.default.createElement(_ui.Icon, {
337
+ value: _helpers3.ICON.SEARCH
338
+ }) : text || translate(_Finder3.L10N.ACTION_SEARCH))));
328
339
  };
329
340
  exports.Finder = Finder;
330
341
  Finder.displayName = 'Mirai:Core:Finder';
@@ -332,6 +343,8 @@ Finder.propTypes = {
332
343
  assisted: _propTypes.default.bool,
333
344
  compacted: _propTypes.default.bool,
334
345
  layout: _propTypes.default.oneOf(['column']),
346
+ icon: _propTypes.default.bool,
347
+ inline: _propTypes.default.bool,
335
348
  text: _propTypes.default.string,
336
349
  onChange: _propTypes.default.func,
337
350
  onSubmit: _propTypes.default.func
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","assisted","compacted","layout","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","getAvailableWidth","disabledDates","place","callback","calendar","handleSubmit","nextValue","skeleton","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","dataSource","getDataSource","hotel","idHotel","is","column","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","testId","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","wide","button","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({ assisted = true, compacted = false, layout, text, onChange = () => {}, onSubmit, ...others }) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ isMobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n column: !isMobile && layout === 'column',\n };\n\n const fieldProps = {\n compacted: is.compacted,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","assisted","compacted","icon","inline","layout","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","getAvailableWidth","disabledDates","place","callback","calendar","handleSubmit","nextValue","skeleton","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","dataSource","getDataSource","hotel","idHotel","is","column","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","testId","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({\n assisted = true,\n compacted = false,\n icon = false,\n inline = true,\n layout,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ isMobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n column: !isMobile && layout === 'column',\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, inline && style.inline, layout && style[layout], others.className)\n : undefined\n }\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n wide={isMobile || is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
@@ -1,60 +1,45 @@
1
- :root {
2
- /* finder */
3
- --mirai-finder-background: none;
4
- --mirai-finder-border: none;
5
- --mirai-finder-border-radius: none;
6
- --mirai-finder-gap: var(--mirai-ui-space-XXS);
7
- --mirai-finder-modal-content-max-height: calc(100vh - calc(var(--mirai-ui-space-XXL) + var(--mirai-ui-space-XL)));
8
- --mirai-finder-padding: 0;
9
-
10
- --mirai-finder-field-separator: solid var(--mirai-ui-border-width) var(--mirai-ui-content-border);
11
-
12
- --mirai-finder-field-custom-height: var(--mirai-ui-input-min-height);
13
- --mirai-finder-field-custom-border: var(--mirai-finder-field-border);
14
- --mirai-finder-field-custom-border-radius: var(--mirai-finder-field-border-radius);
15
-
16
- /* booking style */
17
- /* --mirai-finder-background: #ffb700;
18
- --mirai-finder-border-radius: var(--mirai-ui-input-text-radius);
19
- --mirai-finder-padding: var(--mirai-ui-space-XXS); */
20
-
21
- /* airbnb style */
22
- --mirai-finder-background: transparent;
23
- --mirai-finder-border: var(--mirai-ui-input-text-border);
24
- --mirai-finder-border-radius: calc(var(--mirai-ui-input-text-radius) * 4);
25
- --mirai-finder-gap: 0;
26
-
27
- --mirai-finder-field-custom-height: var(--mirai-ui-space-XXL);
28
- --mirai-finder-field-custom-border: 0;
29
- --mirai-finder-field-custom-border-radius: 0;
30
- }
31
-
32
1
  .finder {
33
- background-color: var(--mirai-finder-background);
34
- border: var(--mirai-finder-border);
35
2
  border-radius: var(--mirai-finder-border-radius);
3
+ gap: var(--mirai-finder-gap);
36
4
  overflow: hidden;
37
5
  flex: 0;
38
- flex-wrap: wrap;
39
6
  justify-content: center;
40
7
  padding: var(--mirai-finder-padding);
41
8
  }
42
9
 
43
- .button {
10
+ .finder:not(.compact) {
11
+ background-color: var(--mirai-finder-background);
12
+ }
13
+
14
+ .finder.inline,
15
+ .finder.compact {
16
+ border: var(--mirai-finder-border);
44
17
  border-radius: var(--mirai-finder-border-radius);
45
- height: var(--mirai-finder-field-custom-height);
18
+ }
19
+
20
+ .separator {
21
+ background-color: var(--mirai-finder-border-color);
46
22
  }
47
23
 
48
24
  .field {
49
- border: var(--mirai-finder-field-custom-border);
50
- border-radius: var(--mirai-finder-field-custom-border-radius);
51
- height: var(--mirai-finder-field-custom-height);
25
+ height: var(--mirai-finder-field-height);
26
+ }
27
+
28
+ .button {
29
+ border-radius: var(--mirai-finder-border-radius) !important;
30
+ height: var(--mirai-finder-field-height);
52
31
  }
53
32
 
54
- .compact {
33
+ .button.withIcon {
34
+ max-height: var(--mirai-finder-field-height);
35
+ max-width: var(--mirai-finder-field-height);
36
+ min-height: var(--mirai-finder-field-height);
37
+ min-width: var(--mirai-finder-field-height);
38
+ padding: 0 !important;
39
+ }
40
+
41
+ .finder.compact {
55
42
  background-color: var(--mirai-ui-base);
56
- border: var(--mirai-finder-field-border);
57
- border-radius: var(--mirai-finder-field-border-radius);
58
43
  transition: border-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing),
59
44
  box-shadow var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
60
45
  }
@@ -64,12 +49,21 @@
64
49
  box-shadow: var(--mirai-ui-focus-shadow);
65
50
  }
66
51
 
52
+ .compact .icon {
53
+ color: var(--mirai-field-icon-color);
54
+ }
55
+
56
+ .compact .textEllipsis {
57
+ overflow: hidden;
58
+ text-overflow: ellipsis;
59
+ white-space: nowrap;
60
+ }
61
+
67
62
  .compact > [data-role='pressable'] {
63
+ align-items: flex-end;
68
64
  display: flex;
69
65
  flex-direction: var(--mirai-ui-row-direction);
70
66
  gap: var(--mirai-ui-space-XS);
71
-
72
- align-items: flex-end;
73
67
  }
74
68
 
75
69
  .compact.directionLeft > [data-role='pressable']:not(:last-of-type) {
@@ -80,24 +74,19 @@
80
74
  box-shadow: -1px 0 var(--mirai-ui-content-border);
81
75
  }
82
76
 
83
- .compact .icon {
84
- color: var(--mirai-ui-content-light);
85
- }
86
-
87
- .compact .textEllipsis {
88
- overflow: hidden;
89
- text-overflow: ellipsis;
90
- white-space: nowrap;
91
- }
92
-
93
77
  /* S */
94
78
  @media only screen and (max-width: 430px) {
95
79
  .finder {
96
80
  width: 100%;
97
81
  }
98
82
 
99
- .field {
100
- border-bottom: var(--mirai-finder-field-separator);
83
+ .separator {
84
+ height: var(--mirai-ui-border-width);
85
+ width: 100%;
86
+ }
87
+
88
+ .button {
89
+ margin-top: calc(var(--mirai-finder-padding) / 2);
101
90
  }
102
91
 
103
92
  .compact {
@@ -123,24 +112,26 @@
123
112
  /* M & L */
124
113
  @media only screen and (min-width: 431px) {
125
114
  .finder {
126
- gap: var(--mirai-finder-gap);
127
115
  width: fit-content;
128
116
  }
129
117
 
118
+ .finder:not(.column) .separator {
119
+ height: var(--mirai-finder-field-height);
120
+ width: var(--mirai-ui-border-width);
121
+ }
122
+
130
123
  .finder.column {
131
124
  flex-direction: column;
132
125
  width: 100%;
133
126
  }
134
127
 
135
- .finder:not(.column) .field {
136
- border-right: var(--mirai-finder-field-separator);
137
- }
138
-
139
- .finder.column .field {
140
- border-bottom: var(--mirai-finder-field-separator);
128
+ .finder.column .separator {
129
+ height: var(--mirai-ui-border-width);
130
+ width: 100%;
141
131
  }
142
132
 
143
- .finder.column > .button {
133
+ .finder.column .button {
134
+ margin-top: calc(var(--mirai-finder-padding) / 2);
144
135
  width: 100%;
145
136
  }
146
137