@mirai/core 0.3.60 → 0.3.61

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 (80) hide show
  1. package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
  2. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  3. package/build/components/Rates/Rates.Footer.js +65 -77
  4. package/build/components/Rates/Rates.Footer.js.map +1 -1
  5. package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
  6. package/build/components/Rates/Rates.Header.js.map +1 -0
  7. package/build/components/Rates/Rates.RoomSelector.js +96 -0
  8. package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
  9. package/build/components/Rates/Rates.Skeleton.js +116 -40
  10. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  11. package/build/components/Rates/Rates.constants.js +7 -1
  12. package/build/components/Rates/Rates.constants.js.map +1 -1
  13. package/build/components/Rates/Rates.js +90 -47
  14. package/build/components/Rates/Rates.js.map +1 -1
  15. package/build/components/Rates/Rates.l10n.js +16 -7
  16. package/build/components/Rates/Rates.l10n.js.map +1 -1
  17. package/build/components/Rates/Rates.module.css +149 -67
  18. package/build/components/Rates/components/Item/Item.Preview.js +46 -29
  19. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.Rates.js +112 -143
  21. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Summary.js +141 -0
  23. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
  24. package/build/components/Rates/components/Item/Item.js +67 -64
  25. package/build/components/Rates/components/Item/Item.js.map +1 -1
  26. package/build/components/Rates/components/Item/Item.l10n.js +22 -0
  27. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  28. package/build/components/Rates/components/Item/Item.module.css +80 -104
  29. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
  30. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  31. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
  32. package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
  33. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
  34. package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
  35. package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
  36. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  37. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
  38. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
  39. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  40. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
  41. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
  42. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  43. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
  44. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
  45. package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
  46. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
  47. package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
  48. package/build/components/Rates/components/Item/components/Option/index.js +17 -0
  49. package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
  50. package/build/components/Rates/components/Item/components/index.js +11 -0
  51. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  52. package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
  53. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  54. package/build/components/helpers/ICON.js +10 -2
  55. package/build/components/helpers/ICON.js.map +1 -1
  56. package/build/components/helpers/index.js +11 -0
  57. package/build/components/helpers/index.js.map +1 -1
  58. package/build/components/helpers/opacity.js +17 -0
  59. package/build/components/helpers/opacity.js.map +1 -0
  60. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
  61. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
  62. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
  63. package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
  64. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
  65. package/build/services/Rates/constants.js +18 -1
  66. package/build/services/Rates/constants.js.map +1 -1
  67. package/build/services/Rates/get.js +41 -112
  68. package/build/services/Rates/get.js.map +1 -1
  69. package/build/services/Rates/helpers/getIncrements.js +69 -0
  70. package/build/services/Rates/helpers/getIncrements.js.map +1 -0
  71. package/build/services/Rates/helpers/index.js +22 -0
  72. package/build/services/Rates/helpers/index.js.map +1 -1
  73. package/build/services/Rates/helpers/parseBoards.js +156 -0
  74. package/build/services/Rates/helpers/parseBoards.js.map +1 -0
  75. package/build/services/Rates/helpers/parseExternalToken.js +24 -0
  76. package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
  77. package/package.json +1 -1
  78. package/public/App.module.css +5 -0
  79. package/public/themes/monalisa.theme.css +3 -0
  80. package/build/components/Rates/Rates.Filter.js.map +0 -1
@@ -4,86 +4,89 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Item = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
- var _locale = require("@mirai/locale");
9
7
  var _ui = require("@mirai/ui");
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _Item = require("./Item.l10n");
9
+ var _react = _interopRequireWildcard(require("react"));
13
10
  var style = _interopRequireWildcard(require("./Item.module.css"));
14
- var _Item2 = require("./Item.Preview");
15
- var _Item3 = require("./Item.Rates");
11
+ var _Item = require("./Item.Preview");
12
+ var _Item2 = require("./Item.Rates");
13
+ var _Item3 = require("./Item.Summary");
16
14
  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); }
17
15
  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; }
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
17
  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); }
20
18
  const Item = _ref => {
21
19
  let {
22
- availability = 0,
23
- name: title,
24
- taxes,
20
+ boards = [],
21
+ cancellations = [],
22
+ cart: selected,
23
+ rates = [],
25
24
  ...others
26
25
  } = _ref;
26
+ const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
27
+ (0, _react.useEffect)(() => {
28
+ let nextBoard;
29
+ if (selected) {
30
+ nextBoard = boards.find(item => item.id === selected.id);
31
+ } else if (!selectedBoard) {
32
+ const [{
33
+ id: cancellationId
34
+ } = {}] = cancellations;
35
+ const [{
36
+ id: rateId
37
+ } = {}] = rates;
38
+ nextBoard = boards.find(board => board.cancellationId === cancellationId && board.rateId === rateId);
39
+ }
40
+ if (nextBoard) setSelectedBoard(nextBoard);
41
+ // eslint-disable-next-line react-hooks/exhaustive-deps
42
+ }, [boards, selected]);
43
+ const handleBoard = board => {
44
+ setSelectedBoard(board);
45
+ };
46
+ const handleCancellation = id => {
47
+ setSelectedBoard(boards.find(_ref2 => {
48
+ let {
49
+ cancellationId
50
+ } = _ref2;
51
+ return cancellationId === id;
52
+ }));
53
+ };
54
+ const handleRate = _ref3 => {
55
+ let {
56
+ id,
57
+ cancellationId
58
+ } = _ref3;
59
+ setSelectedBoard(boards.find(board => board.cancellationId === cancellationId && board.rateId == id));
60
+ };
27
61
  const {
28
- isDesktop,
29
- isMobile
30
- } = (0, _ui.useDevice)();
31
- const {
32
- translate
33
- } = (0, _locale.useLocale)();
34
- const {
35
- value: {
36
- hotel: {
37
- warningAvailability = 9999
38
- }
39
- } = {}
40
- } = (0, _dataSources.useStore)();
62
+ id,
63
+ cancellationId,
64
+ rateId
65
+ } = selectedBoard || {};
66
+ const props = {
67
+ ...others,
68
+ boards: boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId),
69
+ cancellations,
70
+ rates: rates.filter(rate => rate.cancellationId === cancellationId),
71
+ selected,
72
+ selectedBoard
73
+ };
41
74
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
42
- className: [style.box, style.item, others.className]
43
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
44
- row: true,
45
- className: style.header
46
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
47
- bold: true,
48
- headline: true,
49
- level: 2,
50
- className: style.title
51
- }, title), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Text, {
52
- small: true
53
- }, translate(taxes ? _Item.L10N.LABEL_EXCLUDES_TAXES_FEES : _Item.L10N.LABEL_INCLUDES_TAXES_FEES)), availability <= warningAvailability && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
54
- error: true,
55
- small: true
56
- }, translate(_Item.L10N.LABEL_REMAINING_ITEMS, {
57
- amount: availability
58
- }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
59
- row: isDesktop,
60
- className: style.info
61
- }, /*#__PURE__*/_react.default.createElement(_Item2.Preview, others), /*#__PURE__*/_react.default.createElement(_Item3.Rates, _extends({
62
- availability
63
- }, others))));
75
+ className: [style.item, (selected === null || selected === void 0 ? void 0 : selected.id) === id && style.selected, selected && selected.id !== id && style.unselected, others.className]
76
+ }, /*#__PURE__*/_react.default.createElement(_Item.Preview, props), /*#__PURE__*/_react.default.createElement(_Item2.Rates, _extends({}, props, {
77
+ onBoard: handleBoard,
78
+ onCancellation: handleCancellation,
79
+ onRate: handleRate
80
+ })), /*#__PURE__*/_react.default.createElement(_Item3.Summary, props));
64
81
  };
65
82
  exports.Item = Item;
83
+ Item.displayName = 'Mirai:Core:Rates:Item';
66
84
  Item.propTypes = {
67
- availability: _propTypes.default.number,
68
- expanded: _propTypes.default.bool,
69
- filter: _propTypes.default.shape({
70
- board: _propTypes.default.string
85
+ boards: _propTypes.default.arrayOf(_propTypes.default.shape({})),
86
+ cancellations: _propTypes.default.arrayOf(_propTypes.default.shape({})),
87
+ cart: _propTypes.default.shape({
88
+ id: _propTypes.default.string
71
89
  }),
72
- id: _propTypes.default.string,
73
- images: _propTypes.default.arrayOf(_propTypes.default.shape({
74
- alt: _propTypes.default.string,
75
- large: _propTypes.default.string,
76
- thumbnail: _propTypes.default.string
77
- })),
78
- name: _propTypes.default.string,
79
- occupation: _propTypes.default.arrayOf(_propTypes.default.array),
80
- rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
81
- selected: _propTypes.default.shape({}),
82
- taxes: _propTypes.default.string,
83
- onChange: _propTypes.default.func,
84
- onMoreInfo: _propTypes.default.func,
85
- onRateInfo: _propTypes.default.func,
86
- onViewUrl: _propTypes.default.func
90
+ rates: _propTypes.default.arrayOf(_propTypes.default.shape({}))
87
91
  };
88
- Item.displayName = 'Mirai:Core:Rates:Item';
89
92
  //# sourceMappingURL=Item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Item","style","_interopRequireWildcard","_Item2","_Item3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","_ref","availability","name","title","taxes","others","isDesktop","isMobile","useDevice","translate","useLocale","value","hotel","warningAvailability","useStore","createElement","View","className","box","item","row","header","Text","bold","headline","level","small","L10N","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","Notification","error","LABEL_REMAINING_ITEMS","amount","info","Preview","Rates","exports","propTypes","PropTypes","number","expanded","bool","filter","shape","board","string","id","images","arrayOf","alt","large","thumbnail","occupation","array","rates","selected","onChange","func","onMoreInfo","onRateInfo","onViewUrl","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\n\nconst Item = ({ availability = 0, name: title, taxes, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n return (\n <View className={[style.box, style.item, others.className]}>\n <View row className={style.header}>\n <Text bold headline level={2} className={style.title}>\n {title}\n </Text>\n {!isMobile && (\n <Text small>{translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}</Text>\n )}\n {availability <= warningAvailability && (\n <Notification error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Notification>\n )}\n </View>\n\n <View row={isDesktop} className={style.info}>\n <Preview {...others} />\n <Rates {...{ availability, ...others }} />\n </View>\n </View>\n );\n};\n\nItem.propTypes = {\n availability: PropTypes.number,\n expanded: PropTypes.bool,\n filter: PropTypes.shape({\n board: PropTypes.string,\n }),\n id: PropTypes.string,\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n name: PropTypes.string,\n occupation: PropTypes.arrayOf(PropTypes.array),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({}),\n taxes: PropTypes.string,\n onChange: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","_ref","boards","cancellations","cart","selected","rates","others","selectedBoard","setSelectedBoard","useState","useEffect","nextBoard","find","item","id","cancellationId","rateId","board","handleBoard","handleCancellation","_ref2","handleRate","_ref3","props","filter","rate","createElement","View","className","unselected","Preview","Rates","onBoard","onCancellation","onRate","Summary","exports","displayName","propTypes","PropTypes","arrayOf","shape","string"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\n\nconst Item = ({ boards = [], cancellations = [], cart: selected, rates = [], ...others }) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n let nextBoard;\n\n if (selected) {\n nextBoard = boards.find((item) => item.id === selected.id);\n } else if (!selectedBoard) {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n }\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards, selected]);\n\n const handleBoard = (board) => {\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const { id, cancellationId, rateId } = selectedBoard || {};\n\n const props = {\n ...others,\n boards: boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId),\n cancellations,\n rates: rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n };\n\n return (\n <View\n className={[\n style.item,\n selected?.id === id && style.selected,\n selected && selected.id !== id && style.unselected,\n others.className,\n ]}\n >\n <Preview {...props} />\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n <Summary {...props} />\n </View>\n );\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n cart: PropTypes.shape({\n id: PropTypes.string,\n }),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -11,9 +11,15 @@ const L10N = exports.L10N = {
11
11
  ACTION_MORE_RATES: {
12
12
  id: 'finder.action.more_rates'
13
13
  },
14
+ ACTION_RESERVE: {
15
+ id: 'common.action.reserve'
16
+ },
14
17
  LABEL_3D_VIEW: {
15
18
  id: 'finder.label.3d_view'
16
19
  },
20
+ LABEL_ACCOMMODATION_PLAN: {
21
+ id: 'finder.label.accommodation_plan'
22
+ },
17
23
  LABEL_BED_DISPOSITION: {
18
24
  id: 'finder.label.bed_disposition'
19
25
  },
@@ -28,6 +34,9 @@ const L10N = exports.L10N = {
28
34
  LABEL_CANCELLATION_POLICY: {
29
35
  id: 'common.label.cancellation_policy'
30
36
  },
37
+ LABEL_CLUB_MEMBERS: {
38
+ id: 'finder.label.club_members'
39
+ },
31
40
  LABEL_DESELECT: {
32
41
  id: 'common.label.deselect'
33
42
  },
@@ -54,6 +63,9 @@ const L10N = exports.L10N = {
54
63
  LABEL_EXCLUDES_TAXES_FEES: {
55
64
  id: 'finder.label.excludes_taxes_fees'
56
65
  },
66
+ LABEL_LIMITED_OFFER: {
67
+ id: 'finder.label.limited_offer'
68
+ },
57
69
  LABEL_MORE_SERVICES: {
58
70
  id: 'finder.label.more_services'
59
71
  },
@@ -69,12 +81,22 @@ const L10N = exports.L10N = {
69
81
  LABEL_PER_UNIT_NIGHT: {
70
82
  id: 'finder.label.per_unit_night'
71
83
  },
84
+ LABEL_PRICE_DETAILS: {
85
+ id: 'finder.label.price_details'
86
+ },
87
+ LABEL_RATE: {
88
+ id: 'common.label.rate'
89
+ },
72
90
  LABEL_REMAINING_ITEMS: {
73
91
  id: 'finder.label.remaining_items'
74
92
  },
75
93
  LABEL_SELECT: {
76
94
  id: 'common.label.select'
77
95
  },
96
+ LABEL_SELECT_AND_CUSTOMIZE: {
97
+ id: 'common.label.select_and_customize',
98
+ defaultMessage: '$Select and customize'
99
+ },
78
100
  LABEL_TOP_AMENITIES: {
79
101
  id: 'finder.label.top_amenities'
80
102
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_MORE_RATES","LABEL_3D_VIEW","LABEL_BED_DISPOSITION","LABEL_BED_TYPE","LABEL_CANCELLATION_POLICY","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_INCLUDES_TAXES_FEES","LABEL_EXCLUDES_TAXES_FEES","LABEL_MORE_SERVICES","LABEL_OR","LABEL_ORIGINAL_PRICE","LABEL_PAYMENT_TERMS","LABEL_PER_UNIT_NIGHT","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_TOP_AMENITIES","LABEL_VIEW_VIDEO"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_MORE_RATES: { id: 'finder.action.more_rates' },\n\n LABEL_3D_VIEW: { id: 'finder.label.3d_view' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_BED_TYPE: {\n 1: { id: 'finder.label.bed_type_single' },\n 2: { id: 'finder.label.bed_type_double' },\n },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_ORIGINAL_PRICE: { id: 'finder.label.original_price' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_UNIT_NIGHT: { id: 'finder.label.per_unit_night' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_VIEW_VIDEO: { id: 'finder.label.view_video' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EAErDE,aAAa,EAAE;IAAEF,EAAE,EAAE;EAAuB,CAAC;EAC7CG,qBAAqB,EAAE;IAAEH,EAAE,EAAE;EAA+B,CAAC;EAC7DI,cAAc,EAAE;IACd,CAAC,EAAE;MAAEJ,EAAE,EAAE;IAA+B,CAAC;IACzC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA+B;EAC1C,CAAC;EACDK,yBAAyB,EAAE;IAAEL,EAAE,EAAE;EAAmC,CAAC;EACrEM,cAAc,EAAE;IAAEN,EAAE,EAAE;EAAwB,CAAC;EAC/CO,cAAc,EAAE;IAAEP,EAAE,EAAE;EAAwB,CAAC;EAC/CQ,uBAAuB,EAAE;IAAER,EAAE,EAAE;EAAiC,CAAC;EACjES,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAET,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDU,yBAAyB,EAAE;IAAEV,EAAE,EAAE;EAAmC,CAAC;EACrEW,yBAAyB,EAAE;IAAEX,EAAE,EAAE;EAAmC,CAAC;EACrEY,mBAAmB,EAAE;IAAEZ,EAAE,EAAE;EAA6B,CAAC;EACzDa,QAAQ,EAAE;IAAEb,EAAE,EAAE;EAAkB,CAAC;EACnCc,oBAAoB,EAAE;IAAEd,EAAE,EAAE;EAA8B,CAAC;EAC3De,mBAAmB,EAAE;IAAEf,EAAE,EAAE;EAA6B,CAAC;EACzDgB,oBAAoB,EAAE;IAAEhB,EAAE,EAAE;EAA8B,CAAC;EAC3DiB,qBAAqB,EAAE;IAAEjB,EAAE,EAAE;EAA+B,CAAC;EAC7DkB,YAAY,EAAE;IAAElB,EAAE,EAAE;EAAsB,CAAC;EAC3CmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,gBAAgB,EAAE;IAAEpB,EAAE,EAAE;EAA0B;AACpD,CAAC"}
1
+ {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_MORE_RATES","ACTION_RESERVE","LABEL_3D_VIEW","LABEL_ACCOMMODATION_PLAN","LABEL_BED_DISPOSITION","LABEL_BED_TYPE","LABEL_CANCELLATION_POLICY","LABEL_CLUB_MEMBERS","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_INCLUDES_TAXES_FEES","LABEL_EXCLUDES_TAXES_FEES","LABEL_LIMITED_OFFER","LABEL_MORE_SERVICES","LABEL_OR","LABEL_ORIGINAL_PRICE","LABEL_PAYMENT_TERMS","LABEL_PER_UNIT_NIGHT","LABEL_PRICE_DETAILS","LABEL_RATE","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECT_AND_CUSTOMIZE","defaultMessage","LABEL_TOP_AMENITIES","LABEL_VIEW_VIDEO"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_MORE_RATES: { id: 'finder.action.more_rates' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n\n LABEL_3D_VIEW: { id: 'finder.label.3d_view' },\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_BED_TYPE: {\n 1: { id: 'finder.label.bed_type_single' },\n 2: { id: 'finder.label.bed_type_double' },\n },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_ORIGINAL_PRICE: { id: 'finder.label.original_price' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_UNIT_NIGHT: { id: 'finder.label.per_unit_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_RATE: { id: 'common.label.rate' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECT_AND_CUSTOMIZE: { id: 'common.label.select_and_customize', defaultMessage: '$Select and customize' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_VIEW_VIDEO: { id: 'finder.label.view_video' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EACrDE,cAAc,EAAE;IAAEF,EAAE,EAAE;EAAwB,CAAC;EAE/CG,aAAa,EAAE;IAAEH,EAAE,EAAE;EAAuB,CAAC;EAC7CI,wBAAwB,EAAE;IAAEJ,EAAE,EAAE;EAAkC,CAAC;EACnEK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,cAAc,EAAE;IACd,CAAC,EAAE;MAAEN,EAAE,EAAE;IAA+B,CAAC;IACzC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA+B;EAC1C,CAAC;EACDO,yBAAyB,EAAE;IAAEP,EAAE,EAAE;EAAmC,CAAC;EACrEQ,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,cAAc,EAAE;IAAET,EAAE,EAAE;EAAwB,CAAC;EAC/CU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,uBAAuB,EAAE;IAAEX,EAAE,EAAE;EAAiC,CAAC;EACjEY,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEZ,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDa,yBAAyB,EAAE;IAAEb,EAAE,EAAE;EAAmC,CAAC;EACrEc,yBAAyB,EAAE;IAAEd,EAAE,EAAE;EAAmC,CAAC;EACrEe,mBAAmB,EAAE;IAAEf,EAAE,EAAE;EAA6B,CAAC;EACzDgB,mBAAmB,EAAE;IAAEhB,EAAE,EAAE;EAA6B,CAAC;EACzDiB,QAAQ,EAAE;IAAEjB,EAAE,EAAE;EAAkB,CAAC;EACnCkB,oBAAoB,EAAE;IAAElB,EAAE,EAAE;EAA8B,CAAC;EAC3DmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,oBAAoB,EAAE;IAAEpB,EAAE,EAAE;EAA8B,CAAC;EAC3DqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,UAAU,EAAE;IAAEtB,EAAE,EAAE;EAAoB,CAAC;EACvCuB,qBAAqB,EAAE;IAAEvB,EAAE,EAAE;EAA+B,CAAC;EAC7DwB,YAAY,EAAE;IAAExB,EAAE,EAAE;EAAsB,CAAC;EAC3CyB,0BAA0B,EAAE;IAAEzB,EAAE,EAAE,mCAAmC;IAAE0B,cAAc,EAAE;EAAwB,CAAC;EAChHC,mBAAmB,EAAE;IAAE3B,EAAE,EAAE;EAA6B,CAAC;EACzD4B,gBAAgB,EAAE;IAAE5B,EAAE,EAAE;EAA0B;AACpD,CAAC"}
@@ -1,160 +1,136 @@
1
- .item .header {
2
- justify-content: space-between;
3
- gap: var(--mirai-ui-space-M);
1
+ .item {
2
+ background-color: var(--mirai-ui-base);
3
+ border-radius: var(--mirai-ui-border-radius);
4
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-content-border);
5
+ transition: box-shadow var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing),
6
+ filter var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing),
7
+ opacity var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
4
8
  }
5
9
 
6
- .item .header .title {
7
- flex: 1;
10
+ .item.selected {
11
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-accent);
8
12
  }
9
13
 
10
- .item,
11
- .item .preview,
12
- .item .rates {
13
- gap: var(--mirai-ui-space-M);
14
+ .item.unselected:not(:hover) {
15
+ opacity: 0.66;
16
+ filter: grayscale(1);
14
17
  }
15
18
 
16
- .item .info {
17
- align-items: stretch;
18
- gap: var(--mirai-ui-space-L);
19
+ .item .anchor {
20
+ border-bottom: solid 1px var(--mirai-ui-content-border);
19
21
  }
20
22
 
21
- .item .info .preview {
22
- max-width: calc(var(--mirai-ui-breakpoint-S) - var(--mirai-ui-space-M) * 4);
23
- top: 0;
24
- width: 100%;
23
+ .item .gap {
24
+ gap: var(--mirai-ui-space-XS);
25
25
  }
26
26
 
27
- .item .info .preview .slider {
28
- background-color: var(--mirai-ui-content-background);
29
- border-radius: var(--mirai-ui-border-radius);
27
+ .item .offset {
28
+ padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
29
+ }
30
+
31
+ .item .row {
32
+ align-items: center;
33
+ display: flex;
34
+ gap: calc(var(--mirai-ui-space-XS) / 2);
35
+ flex-direction: row;
36
+ }
37
+
38
+ .item .spaceBetween {
39
+ align-items: center;
40
+ justify-content: space-between;
41
+ }
42
+
43
+ /* -- <Item.Preview> ------------------------------------------------------------------------------------------------ */
44
+ .slider {
45
+ background-color: var(--mirai-ui-content-border);
46
+ border-top-left-radius: var(--mirai-ui-border-radius);
47
+ border-top-right-radius: var(--mirai-ui-border-radius);
30
48
  width: 100%;
31
49
  position: relative;
32
50
  }
33
51
 
34
- .item .slider .buttons {
52
+ .slider .buttons {
35
53
  gap: var(--mirai-ui-space-S);
36
54
  height: var(--mirai-ui-space-XL);
37
55
  justify-content: center;
38
56
  left: calc(var(--mirai-ui-space-XXL) * 2);
39
57
  position: absolute;
40
58
  right: calc(var(--mirai-ui-space-XXL) * 2);
41
- top: calc(calc(220px - var(--mirai-ui-space-XL)) / 2);
59
+ top: calc(calc(210px - var(--mirai-ui-space-XL)) / 2);
42
60
  }
43
61
 
44
- .item .slider .buttons [data-role='button'] {
62
+ .slider .buttons [data-role='button'] {
45
63
  background-color: var(--mirai-ui-slider-overlay);
46
64
  height: var(--mirai-ui-space-XL);
47
65
  width: var(--mirai-ui-space-XL);
48
66
  }
49
67
 
50
- .item .slider .buttons [data-role='icon'] {
68
+ .slider .buttons [data-role='icon'] {
51
69
  color: var(--mirai-ui-base);
52
70
  }
53
71
 
54
- .item .rates {
55
- overflow: hidden;
56
- position: relative;
57
- }
58
-
59
- .item .rates.expanded {
60
- max-height: 100%;
61
- overflow: visible;
72
+ /* -- <Item.Rates> -------------------------------------------------------------------------------------------------- */
73
+ .item > .offset:nth-last-child(2) {
74
+ flex: 1;
75
+ padding-bottom: var(--mirai-ui-space-M);
62
76
  }
63
77
 
64
- .item .rate {
65
- gap: var(--mirai-ui-space-S);
78
+ .item .included {
79
+ border-radius: var(--mirai-ui-border-radius);
80
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-content-border);
81
+ padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
66
82
  }
67
83
 
68
- .item .rate.selected {
69
- box-shadow: inset 0 0 0 1px var(--mirai-ui-accent);
84
+ .item .summary {
85
+ margin-bottom: calc(var(--mirai-ui-space-XS) / 2);
70
86
  }
71
87
 
72
- .item .rate .content {
73
- align-items: flex-start;
88
+ .summary .content {
89
+ align-items: flex-end;
90
+ justify-content: space-between;
74
91
  }
75
92
 
76
- .item .rate .texts {
77
- flex: 1;
78
- gap: var(--mirai-ui-space-XS);
93
+ .summary .discount {
94
+ background-color: var(--mirai-ui-accent);
95
+ border-radius: var(--mirai-ui-border-radius);
96
+ color: var(--mirai-ui-base);
97
+ margin-right: var(--mirai-ui-space-XS);
98
+ padding: calc(var(--mirai-ui-space-XS) / 2) var(--mirai-ui-space-XS);
79
99
  }
80
100
 
81
- .item .rate .actionExpand {
82
- display: inline;
83
- margin-left: calc(var(--mirai-ui-space-XS) / 2);
101
+ .summary .availability {
102
+ color: var(--mirai-ui-error);
84
103
  }
85
104
 
86
- .item .rate .prices {
105
+ .summary .price {
106
+ align-items: flex-end;
87
107
  gap: var(--mirai-ui-space-XS);
108
+ margin-bottom: calc(var(--mirai-ui-space-XS) / 2);
109
+ margin-top: var(--mirai-ui-space-XS);
88
110
  }
89
111
 
90
- .item .rate .pricePerDay {
91
- gap: calc(var(--mirai-ui-space-XS) / 2);
92
- width: max-content;
112
+ .summary .lineThrough {
113
+ text-decoration: line-through;
93
114
  }
94
115
 
95
- .item .rate .inputSelect {
96
- margin-bottom: 0;
97
- max-width: calc(var(--mirai-ui-space-XXL) + var(--mirai-ui-space-M));
98
- min-width: calc(var(--mirai-ui-space-XXL) + var(--mirai-ui-space-M));
116
+ .summary .priceDetails {
117
+ margin-top: calc(var(--mirai-ui-space-XS) / 2);
99
118
  }
100
119
 
101
- .item .rate .button {
102
- width: calc(var(--mirai-ui-space-XXL) * 2);
103
- }
104
-
105
- .item .rate .footer {
106
- border-top: solid 1px var(--mirai-ui-content-border);
107
- gap: var(--mirai-ui-space-XS);
108
- padding-top: var(--mirai-ui-space-M);
120
+ .summary .button {
121
+ align-items: flex-end;
109
122
  }
110
123
 
111
- /* -- common */
112
- .box {
113
- background-color: var(--mirai-ui-base);
114
- border-radius: var(--mirai-ui-border-radius);
115
- box-shadow: inset 0 0 0 1px var(--mirai-ui-content-border);
116
- padding: var(--mirai-ui-space-M);
117
- }
118
-
119
- /* S & M */
120
- @media only screen and (max-width: 820px) {
121
- .item .rates {
122
- max-height: 55svh;
123
- }
124
-
125
- .item .rate .content {
126
- gap: var(--mirai-ui-space-M);
127
- }
128
-
129
- .item .rate .prices {
130
- flex: 2;
131
- margin-right: var(--mirai-ui-space-M);
132
- }
133
-
134
- .buttonMore {
135
- height: calc(var(--mirai-ui-space-XL) * 3);
124
+ /* S */
125
+ @media only screen and (max-width: 430px) {
126
+ .item .offset {
127
+ padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
136
128
  }
137
129
  }
138
130
 
139
- /* L */
140
- @media only screen and (min-width: 821px) {
141
- .item .rates {
142
- max-height: 600px;
143
- }
144
-
145
- .item .rate .content {
146
- gap: var(--mirai-ui-space-L);
147
- }
148
-
149
- .item .rate:hover {
150
- box-shadow: inset 0 0 0 1px var(--mirai-ui-accent);
151
- }
152
-
153
- .item .rate .prices {
154
- align-items: flex-end;
155
- }
156
-
157
- .buttonMore {
158
- height: calc(calc(var(--mirai-ui-space-XL) * 3) + var(--mirai-ui-space-M));
131
+ /* M & L */
132
+ @media only screen and (min-width: 431px) {
133
+ .item .offset {
134
+ padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
159
135
  }
160
136
  }
@@ -16,15 +16,19 @@ const Amenities = _ref => {
16
16
  let {
17
17
  amenities = [],
18
18
  highlight = false,
19
+ preview = false,
19
20
  ...others
20
21
  } = _ref;
22
+ const {
23
+ isMobile
24
+ } = (0, _ui.useDevice)();
21
25
  const values = amenities.filter(function () {
22
26
  let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
27
  return !highlight && !item.highlight || highlight && item.highlight;
24
- });
28
+ }).slice(0, preview ? 3 : undefined);
25
29
  return values.length ? /*#__PURE__*/_react.default.createElement(_ui.View, {
26
- row: highlight,
27
- className: (0, _ui.styles)(style.amenities, highlight ? style.highlight : style.columns, others.className)
30
+ row: highlight && !preview,
31
+ className: (0, _ui.styles)(style.amenities, highlight ? preview ? style.preview : style.highlight : style.columns, others.className)
28
32
  }, values.map(function () {
29
33
  let {
30
34
  id,
@@ -33,17 +37,18 @@ const Amenities = _ref => {
33
37
  let index = arguments.length > 1 ? arguments[1] : undefined;
34
38
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
35
39
  key: index,
36
- row: !highlight,
40
+ row: preview || !highlight,
37
41
  className: style.content
38
- }, highlight ? /*#__PURE__*/_react.default.createElement(_ui.Icon, {
42
+ }, highlight || preview ? /*#__PURE__*/_react.default.createElement(_ui.Icon, {
39
43
  value: _helpers.ICON[id] || _helpers.ICON.AMENITY,
40
44
  headline: true,
41
- level: 1
45
+ level: !preview ? 1 : 3
42
46
  }) : /*#__PURE__*/_react.default.createElement(_ui.Text, {
43
47
  small: true
44
48
  }, "\u2022"), /*#__PURE__*/_react.default.createElement(_ui.Text, {
45
- tiny: highlight,
46
- small: !highlight,
49
+ tiny: highlight && !preview,
50
+ small: !highlight && !preview || isMobile && preview,
51
+ action: !isMobile && preview,
47
52
  className: (0, _ui.styles)(style.text, !highlight && style.textSingleLine)
48
53
  }, text.substring(0, highlight ? 24 : undefined).trim()));
49
54
  })) : null;
@@ -56,7 +61,8 @@ Amenities.propTypes = {
56
61
  id: _propTypes.default.number,
57
62
  text: _propTypes.default.string
58
63
  })),
59
- highlight: _propTypes.default.bool
64
+ highlight: _propTypes.default.bool,
65
+ preview: _propTypes.default.bool
60
66
  };
61
67
  Amenities.displayName = 'Mirai:Core:Rates:Item.Amenities';
62
68
  //# sourceMappingURL=Amenities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Amenities.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Amenities","_ref","amenities","highlight","others","values","filter","item","arguments","length","undefined","createElement","View","row","className","styles","columns","map","id","text","index","key","content","Icon","value","ICON","AMENITY","headline","level","Text","small","tiny","textSingleLine","substring","trim","exports","propTypes","PropTypes","arrayOf","shape","exclusive","bool","number","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Amenities/Amenities.jsx"],"sourcesContent":["import { Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Amenities.module.css';\nimport { ICON } from '../../../../../helpers';\n\nconst Amenities = ({ amenities = [], highlight = false, ...others }) => {\n const values = amenities.filter((item = {}) => (!highlight && !item.highlight) || (highlight && item.highlight));\n\n return values.length ? (\n <View\n row={highlight}\n className={styles(style.amenities, highlight ? style.highlight : style.columns, others.className)}\n >\n {values.map(({ id, text } = {}, index) => (\n <View key={index} row={!highlight} className={style.content}>\n {highlight ? <Icon value={ICON[id] || ICON.AMENITY} headline level={1} /> : <Text small>•</Text>}\n <Text tiny={highlight} small={!highlight} className={styles(style.text, !highlight && style.textSingleLine)}>\n {text.substring(0, highlight ? 24 : undefined).trim()}\n </Text>\n </View>\n ))}\n </View>\n ) : null;\n};\n\nAmenities.propTypes = {\n amenities: PropTypes.arrayOf(\n PropTypes.shape({\n exclusive: PropTypes.bool,\n highlight: PropTypes.bool,\n id: PropTypes.number,\n text: PropTypes.string,\n }),\n ),\n highlight: PropTypes.bool,\n};\n\nAmenities.displayName = 'Mirai:Core:Rates:Item.Amenities';\n\nexport { Amenities };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Amenities.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Amenities","_ref","amenities","highlight","preview","others","isMobile","useDevice","values","filter","item","arguments","length","undefined","slice","createElement","View","row","className","styles","columns","map","id","text","index","key","content","Icon","value","ICON","AMENITY","headline","level","Text","small","tiny","action","textSingleLine","substring","trim","exports","propTypes","PropTypes","arrayOf","shape","exclusive","bool","number","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Amenities/Amenities.jsx"],"sourcesContent":["import { Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Amenities.module.css';\nimport { ICON } from '../../../../../helpers';\n\nconst Amenities = ({ amenities = [], highlight = false, preview = false, ...others }) => {\n const { isMobile } = useDevice();\n\n const values = amenities\n .filter((item = {}) => (!highlight && !item.highlight) || (highlight && item.highlight))\n .slice(0, preview ? 3 : undefined);\n\n return values.length ? (\n <View\n row={highlight && !preview}\n className={styles(\n style.amenities,\n highlight ? (preview ? style.preview : style.highlight) : style.columns,\n others.className,\n )}\n >\n {values.map(({ id, text } = {}, index) => (\n <View key={index} row={preview || !highlight} className={style.content}>\n {highlight || preview ? (\n <Icon value={ICON[id] || ICON.AMENITY} headline level={!preview ? 1 : 3} />\n ) : (\n <Text small>•</Text>\n )}\n <Text\n tiny={highlight && !preview}\n small={(!highlight && !preview) || (isMobile && preview)}\n action={!isMobile && preview}\n className={styles(style.text, !highlight && style.textSingleLine)}\n >\n {text.substring(0, highlight ? 24 : undefined).trim()}\n </Text>\n </View>\n ))}\n </View>\n ) : null;\n};\n\nAmenities.propTypes = {\n amenities: PropTypes.arrayOf(\n PropTypes.shape({\n exclusive: PropTypes.bool,\n highlight: PropTypes.bool,\n id: PropTypes.number,\n text: PropTypes.string,\n }),\n ),\n highlight: PropTypes.bool,\n preview: PropTypes.bool,\n};\n\nAmenities.displayName = 'Mirai:Core:Rates:Item.Amenities';\n\nexport { Amenities };\n"],"mappings":"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"}