@mirai/core 0.3.59 → 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 (84) hide show
  1. package/build/Core.js +1 -1
  2. package/build/Core.js.map +1 -1
  3. package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
  4. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  5. package/build/components/Rates/Rates.Footer.js +65 -77
  6. package/build/components/Rates/Rates.Footer.js.map +1 -1
  7. package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
  8. package/build/components/Rates/Rates.Header.js.map +1 -0
  9. package/build/components/Rates/Rates.RoomSelector.js +96 -0
  10. package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
  11. package/build/components/Rates/Rates.Skeleton.js +116 -40
  12. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  13. package/build/components/Rates/Rates.constants.js +7 -1
  14. package/build/components/Rates/Rates.constants.js.map +1 -1
  15. package/build/components/Rates/Rates.js +90 -47
  16. package/build/components/Rates/Rates.js.map +1 -1
  17. package/build/components/Rates/Rates.l10n.js +16 -7
  18. package/build/components/Rates/Rates.l10n.js.map +1 -1
  19. package/build/components/Rates/Rates.module.css +149 -67
  20. package/build/components/Rates/components/Item/Item.Preview.js +46 -29
  21. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Rates.js +112 -143
  23. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  24. package/build/components/Rates/components/Item/Item.Summary.js +141 -0
  25. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
  26. package/build/components/Rates/components/Item/Item.js +67 -64
  27. package/build/components/Rates/components/Item/Item.js.map +1 -1
  28. package/build/components/Rates/components/Item/Item.l10n.js +22 -0
  29. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  30. package/build/components/Rates/components/Item/Item.module.css +80 -104
  31. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
  32. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  33. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
  34. package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
  35. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
  36. package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
  37. package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
  38. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  39. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
  40. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
  41. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  42. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
  43. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
  44. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  45. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
  46. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
  47. package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
  48. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
  49. package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
  50. package/build/components/Rates/components/Item/components/Option/index.js +17 -0
  51. package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
  52. package/build/components/Rates/components/Item/components/index.js +11 -0
  53. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  54. package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
  55. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  56. package/build/components/helpers/ICON.js +10 -2
  57. package/build/components/helpers/ICON.js.map +1 -1
  58. package/build/components/helpers/index.js +11 -0
  59. package/build/components/helpers/index.js.map +1 -1
  60. package/build/components/helpers/opacity.js +17 -0
  61. package/build/components/helpers/opacity.js.map +1 -0
  62. package/build/index.js +1 -1
  63. package/build/index.js.map +1 -1
  64. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
  65. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
  66. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
  67. package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
  68. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
  69. package/build/services/Rates/constants.js +18 -1
  70. package/build/services/Rates/constants.js.map +1 -1
  71. package/build/services/Rates/get.js +41 -112
  72. package/build/services/Rates/get.js.map +1 -1
  73. package/build/services/Rates/helpers/getIncrements.js +69 -0
  74. package/build/services/Rates/helpers/getIncrements.js.map +1 -0
  75. package/build/services/Rates/helpers/index.js +22 -0
  76. package/build/services/Rates/helpers/index.js.map +1 -1
  77. package/build/services/Rates/helpers/parseBoards.js +156 -0
  78. package/build/services/Rates/helpers/parseBoards.js.map +1 -0
  79. package/build/services/Rates/helpers/parseExternalToken.js +24 -0
  80. package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
  81. package/package.json +1 -1
  82. package/public/App.module.css +5 -0
  83. package/public/themes/monalisa.theme.css +3 -0
  84. package/build/components/Rates/Rates.Filter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_locale","require","_ui","_Slider","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_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","Preview","_ref","images","media","url3D","urlVideo","onMoreInfo","onViewUrl","others","isDesktop","width","useDevice","translate","useLocale","ref","useRef","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","createElement","View","className","preview","slider","Slider","captions","map","_ref2","alt","height","_ref3","large","thumbnails","_ref4","thumbnail","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","title","url","button","Icon","headline","level","value","ICON","PLAY","LABEL_3D_VIEW","THREE_D","Features","box","Amenities","highlight","Action","inline","ACTION_MORE_INFO","exports","propTypes","PropTypes","arrayOf","shape","string","func","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, useDevice, View } from '@mirai/ui';\nimport { Slider } from '@mirai/ui/build/components/Slider';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({ images = [], media: { url3D, urlVideo } = {}, onMoreInfo, onViewUrl = () => {}, ...others }) => {\n const { isDesktop, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth);\n }, [width]);\n\n return (\n <View ref={ref} className={style.preview}>\n <View className={style.slider}>\n <Slider\n captions={images.map(({ alt }) => alt)}\n height={220}\n images={images.map(({ large }) => large)}\n thumbnails={images.map(({ thumbnail }) => thumbnail)}\n width={sliderWidth}\n onChange={() => {}}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n <Features box {...others} />\n {isDesktop && <Amenities highlight {...others} />}\n <Action inline onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n );\n};\n\nPreview.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_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","Preview","_ref","cancellations","images","media","url3D","urlVideo","name","title","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","isMobile","width","useDevice","translate","useLocale","ref","useRef","sliderIndex","setSliderIndex","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","createElement","View","className","slider","Slider","height","map","_ref2","large","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","url","button","Icon","headline","level","value","ICON","PLAY","LABEL_3D_VIEW","THREE_D","offset","anchor","Features","_box","gap","Text","bold","Amenities","highlight","preview","Pressable","cancellation","action","INFO","caption","small","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","alt","string","thumbnail","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Pressable, Slider, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({\n cancellations = [],\n images = [],\n media: { url3D, urlVideo } = {},\n name: title,\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth);\n }, [width]);\n\n return (\n <View ref={ref}>\n <View className={style.slider}>\n <Slider\n height={210}\n images={images.map(({ large }) => large)}\n width={sliderWidth}\n onChange={setSliderIndex}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n\n <View className={[style.offset, style.anchor]}>\n <Features _box {...others} />\n </View>\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n <Amenities highlight preview {...others} />\n\n {cancellations.length === 1 && (\n <View>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text action>{cancellations[0].name}</Text>\n <Icon value={ICON.INFO} />\n </Pressable>\n {cancellations[0].caption && <Text small>{cancellations[0].caption}</Text>}\n </View>\n )}\n\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nPreview.propTypes = {\n cancellations: PropTypes.arrayOf(PropTypes.any),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -4,181 +4,150 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Rates = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
7
  var _locale = require("@mirai/locale");
9
8
  var _ui = require("@mirai/ui");
10
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
12
11
  var _components = require("./components");
13
12
  var _Item = require("./Item.l10n");
14
13
  var style = _interopRequireWildcard(require("./Item.module.css"));
15
- var _shared__ = require("../../../__shared__");
16
14
  var _helpers = require("../../../helpers");
17
15
  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); }
18
16
  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; }
19
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
18
  const Rates = _ref => {
21
19
  let {
22
- availability = 0,
23
- filter = {},
24
- occupation = [],
20
+ boards = [],
21
+ cancellations = [],
25
22
  rates = [],
26
- selected = {},
27
- onChange,
23
+ selectedBoard = {},
24
+ onBoard,
25
+ onCancellation,
26
+ onRate,
28
27
  onRateInfo
29
28
  } = _ref;
30
29
  const {
31
- isDesktop
30
+ isMobile
32
31
  } = (0, _ui.useDevice)();
33
32
  const {
34
33
  translate
35
34
  } = (0, _locale.useLocale)();
36
35
  const {
37
- value: {
38
- currency
39
- } = {}
40
- } = (0, _dataSources.useStore)();
41
- const [expanded, setExpanded] = (0, _react.useState)(rates.length < 3);
42
- const [expandedRate, setExpandedRate] = (0, _react.useState)([]);
43
- const availableAmount = availability - rates.reduce((total, _ref2) => {
44
- var _selected$id;
36
+ cancellationId,
37
+ rateId,
38
+ id: boardId,
39
+ included = [],
40
+ restrictions = []
41
+ } = selectedBoard;
42
+ const has = {
43
+ boards: boards.length > 1,
44
+ cancellations: cancellations.length > 1,
45
+ rates: rates.length > 1
46
+ };
47
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
48
+ className: [style.offset, style.gap, style.anchor]
49
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
50
+ action: !isMobile,
51
+ small: isMobile,
52
+ bold: true
53
+ }, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.map(_ref2 => {
45
54
  let {
46
- id
47
- } = _ref2;
48
- return total + (((_selected$id = selected[id]) === null || _selected$id === void 0 ? void 0 : _selected$id.amount) || 0);
49
- }, 0);
50
- return /*#__PURE__*/_react.default.createElement(_ui.View, {
51
- className: (0, _ui.styles)(style.rates, expanded && style.expanded),
52
- wide: true
53
- }, rates.filter(function () {
54
- let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
- return filter.board ? rate.boardName === filter.board : true;
56
- }).map(function () {
57
- let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
- const {
59
- basePrice,
60
- boardName,
61
- cancellation = {},
62
- discount = {},
63
- included = [],
64
55
  id,
65
56
  name,
66
- dayPrice,
57
+ caption,
67
58
  price,
68
- restrictions = [],
69
- amount: [min = 1, max = 2] = []
70
- } = rate;
71
- const {
72
- amount = 0
73
- } = selected[id] || {};
74
- const rateAvailability = [0, ...Array.from({
75
- length: max - min + 1
76
- }).map((_, index) => index + min)];
77
- const expandedContent = included.length === 1 || expandedRate.includes(id);
78
- return /*#__PURE__*/_react.default.createElement(_ui.View, {
59
+ ...cancellation
60
+ } = _ref2;
61
+ return /*#__PURE__*/_react.default.createElement(_components.Option, {
79
62
  key: id,
80
- className: (0, _ui.styles)(style.box, style.rate, amount && style.selected)
81
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
82
- row: true,
83
- className: style.header
84
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
85
- lighten: true,
86
- small: true,
87
- upperCase: true
88
- }, boardName), discount.percentage > 0 && /*#__PURE__*/_react.default.createElement(_components.Discount, rate)), /*#__PURE__*/_react.default.createElement(_ui.View, {
89
- row: isDesktop,
90
- className: style.content
91
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
92
- className: style.texts
93
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
94
- bold: true,
95
- headline: true,
96
- level: 3
97
- }, name), included.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, null, included.slice(0, expandedContent ? undefined : 1).map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
98
- key: index,
99
- small: true,
100
- lighten: true,
101
- wide: true
102
- }, item, index === 0 && !expandedContent && /*#__PURE__*/_react.default.createElement(_ui.Action, {
103
- inline: true,
104
- small: true,
105
- onPress: () => setExpandedRate([...expandedRate, id]),
106
- className: style.actionExpand
107
- }, "More Info")))), restrictions.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
108
- small: true,
109
- warning: true
110
- }, restrictions[0])), /*#__PURE__*/_react.default.createElement(isDesktop ? _react.default.Fragment : _ui.View, isDesktop ? undefined : {
111
- row: true,
112
- wide: true
113
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
114
- className: style.prices
115
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
116
- bold: true,
117
- headline: true,
118
- level: 2
119
- }, (0, _locale.currencyFormat)({
120
- currency,
121
- value: price * (amount || 1)
122
- })), /*#__PURE__*/_react.default.createElement(_ui.View, {
123
- row: true,
124
- className: style.pricePerDay
125
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
126
- tiny: true
127
- }, (0, _locale.currencyFormat)({
128
- currency,
129
- value: dayPrice
130
- })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
131
- lighten: true,
132
- tiny: true
133
- }, translate(_Item.L10N.LABEL_PER_UNIT_NIGHT)))), occupation.length === 1 ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
134
- large: true,
135
- secondary: amount > 0,
136
- onPress: () => onChange({
137
- id,
138
- amount: amount > 0 ? 0 : 1,
139
- basePrice,
140
- price,
141
- standalone: true
142
- }),
143
- className: style.button
144
- }, translate(amount > 0 ? _Item.L10N.LABEL_DESELECT : _Item.L10N.LABEL_SELECT)) : /*#__PURE__*/_react.default.createElement(_ui.InputSelect, {
145
- name: "amount",
146
- disabledOptions: rateAvailability.map(amount => amount > availableAmount),
147
- options: rateAvailability,
148
- value: amount,
149
- onChange: amount => onChange({
150
- id,
151
- amount: parseInt(amount),
152
- basePrice,
153
- price
154
- }),
155
- className: style.inputSelect
156
- })))), /*#__PURE__*/_react.default.createElement(_ui.View, {
157
- row: true,
158
- className: style.footer
159
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
160
- small: true
161
- }, cancellation.hint), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
162
- onPress: () => onRateInfo(rate)
63
+ caption: caption,
64
+ checked: id === cancellationId,
65
+ title: name,
66
+ value: price,
67
+ onPress: () => onCancellation(id)
68
+ }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
69
+ onPress: () => onRateInfo({
70
+ ...selectedBoard,
71
+ cancellation
72
+ })
163
73
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
164
74
  value: _helpers.ICON.INFO
165
- }))));
166
- }), !expanded && /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
167
- text: translate(_Item.L10N.ACTION_MORE_RATES),
168
- onPress: () => setExpanded(true),
169
- className: style.buttonMore
170
- }));
75
+ })));
76
+ })), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
77
+ className: [style.offset, style.gap, style.anchor]
78
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
79
+ action: !isMobile,
80
+ small: isMobile,
81
+ bold: true
82
+ }, translate(_Item.L10N.LABEL_RATE)), rates.map(_ref3 => {
83
+ let {
84
+ id,
85
+ cancellationId,
86
+ name,
87
+ offer = false,
88
+ price
89
+ } = _ref3;
90
+ return /*#__PURE__*/_react.default.createElement(_components.Option, {
91
+ key: id,
92
+ checked: id === rateId,
93
+ title: name,
94
+ value: price,
95
+ onPress: () => onRate({
96
+ id,
97
+ cancellationId
98
+ })
99
+ }, offer && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
100
+ text: translate(_Item.L10N.LABEL_LIMITED_OFFER)
101
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
102
+ value: _helpers.ICON.OFFER
103
+ })));
104
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
105
+ className: [style.offset, style.gap, style.anchor]
106
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
107
+ action: !isMobile,
108
+ small: isMobile,
109
+ bold: true
110
+ }, translate(_Item.L10N.LABEL_ACCOMMODATION_PLAN)), boards.map(function () {
111
+ let board = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
112
+ const {
113
+ id,
114
+ increment,
115
+ name
116
+ } = board;
117
+ return /*#__PURE__*/_react.default.createElement(_components.Option, {
118
+ key: id,
119
+ checked: id === boardId,
120
+ title: name,
121
+ value: increment,
122
+ onPress: has.boards ? () => onBoard(board) : undefined
123
+ });
124
+ }), included.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
125
+ className: style.included
126
+ }, included.slice(0, 3).map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
127
+ key: index,
128
+ row: true,
129
+ className: style.gap
130
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
131
+ small: true
132
+ }, '•'), /*#__PURE__*/_react.default.createElement(_ui.Text, {
133
+ capitalize: true,
134
+ small: true
135
+ }, item)))), restrictions.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
136
+ small: true,
137
+ warning: true,
138
+ wide: true
139
+ }, restrictions[0])));
171
140
  };
172
141
  exports.Rates = Rates;
173
142
  Rates.displayName = 'Mirai:Core:Rates:Item.Rates';
174
143
  Rates.propTypes = {
175
- availability: _propTypes.default.number,
176
- filter: _propTypes.default.shape({
177
- board: _propTypes.default.string
178
- }),
179
- occupation: _propTypes.default.arrayOf(_propTypes.default.array),
180
- rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
181
- selected: _propTypes.default.shape({}),
144
+ boards: _propTypes.default.arrayOf(_propTypes.default.any),
145
+ cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
146
+ rates: _propTypes.default.arrayOf(_propTypes.default.any),
147
+ selectedBoard: _propTypes.default.shape({}),
148
+ onBoard: _propTypes.default.func,
149
+ onCancellation: _propTypes.default.func,
150
+ onRate: _propTypes.default.func,
182
151
  onChange: _propTypes.default.func,
183
152
  onRateInfo: _propTypes.default.func
184
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availability","filter","occupation","rates","selected","onChange","onRateInfo","isDesktop","useDevice","translate","useLocale","value","currency","useStore","expanded","setExpanded","useState","length","expandedRate","setExpandedRate","availableAmount","reduce","total","_ref2","_selected$id","id","amount","createElement","View","className","styles","wide","rate","arguments","undefined","board","boardName","map","basePrice","cancellation","discount","included","name","dayPrice","price","restrictions","min","max","rateAvailability","Array","from","_","index","expandedContent","includes","key","box","row","header","Text","lighten","small","upperCase","percentage","Discount","content","texts","bold","headline","level","slice","item","Action","inline","onPress","actionExpand","Notification","warning","React","Fragment","prices","currencyFormat","pricePerDay","tiny","L10N","LABEL_PER_UNIT_NIGHT","Button","large","secondary","standalone","button","LABEL_DESELECT","LABEL_SELECT","InputSelect","disabledOptions","options","parseInt","inputSelect","footer","hint","Pressable","Icon","ICON","INFO","ButtonMore","text","ACTION_MORE_RATES","buttonMore","exports","displayName","propTypes","PropTypes","number","shape","string","arrayOf","array","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputSelect, Notification, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { Discount } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ButtonMore } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({ availability = 0, filter = {}, occupation = [], rates = [], selected = {}, onChange, onRateInfo }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [expanded, setExpanded] = useState(rates.length < 3);\n const [expandedRate, setExpandedRate] = useState([]);\n\n const availableAmount = availability - rates.reduce((total, { id }) => total + (selected[id]?.amount || 0), 0);\n\n return (\n <View className={styles(style.rates, expanded && style.expanded)} wide>\n {rates\n .filter((rate = {}) => (filter.board ? rate.boardName === filter.board : true))\n .map((rate = {}) => {\n const {\n basePrice,\n boardName,\n cancellation = {},\n discount = {},\n included = [],\n id,\n name,\n dayPrice,\n price,\n restrictions = [],\n amount: [min = 1, max = 2] = [],\n } = rate;\n\n const { amount = 0 } = selected[id] || {};\n const rateAvailability = [0, ...Array.from({ length: max - min + 1 }).map((_, index) => index + min)];\n const expandedContent = included.length === 1 || expandedRate.includes(id);\n\n return (\n <View key={id} className={styles(style.box, style.rate, amount && style.selected)}>\n <View row className={style.header}>\n <Text lighten small upperCase>\n {boardName}\n </Text>\n {discount.percentage > 0 && <Discount {...rate} />}\n </View>\n\n <View row={isDesktop} className={style.content}>\n <View className={style.texts}>\n <Text bold headline level={3}>\n {name}\n </Text>\n\n {included.length > 0 && (\n <View>\n {included.slice(0, expandedContent ? undefined : 1).map((item, index) => (\n <Text key={index} small lighten wide>\n {item}\n\n {index === 0 && !expandedContent && (\n <Action\n inline\n small\n onPress={() => setExpandedRate([...expandedRate, id])}\n className={style.actionExpand}\n >\n More Info\n </Action>\n )}\n </Text>\n ))}\n </View>\n )}\n\n {restrictions.length > 0 && (\n <Notification small warning>\n {restrictions[0]}\n </Notification>\n )}\n </View>\n\n {React.createElement(\n isDesktop ? React.Fragment : View,\n isDesktop ? undefined : { row: true, wide: true },\n <>\n <View className={style.prices}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value: price * (amount || 1) })}\n </Text>\n <View row className={style.pricePerDay}>\n <Text tiny>{currencyFormat({ currency, value: dayPrice })}</Text>\n <Text lighten tiny>\n {translate(L10N.LABEL_PER_UNIT_NIGHT)}\n </Text>\n </View>\n </View>\n\n {occupation.length === 1 ? (\n <Button\n large\n secondary={amount > 0}\n onPress={() => onChange({ id, amount: amount > 0 ? 0 : 1, basePrice, price, standalone: true })}\n className={style.button}\n >\n {translate(amount > 0 ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT)}\n </Button>\n ) : (\n <InputSelect\n name=\"amount\"\n disabledOptions={rateAvailability.map((amount) => amount > availableAmount)}\n options={rateAvailability}\n value={amount}\n onChange={(amount) => onChange({ id, amount: parseInt(amount), basePrice, price })}\n className={style.inputSelect}\n />\n )}\n </>,\n )}\n </View>\n\n <View row className={style.footer}>\n <Text small>{cancellation.hint}</Text>\n <Pressable onPress={() => onRateInfo(rate)}>\n <Icon value={ICON.INFO} />\n </Pressable>\n </View>\n </View>\n );\n })}\n\n {!expanded && (\n <ButtonMore\n text={translate(L10N.ACTION_MORE_RATES)}\n onPress={() => setExpanded(true)}\n className={style.buttonMore}\n />\n )}\n </View>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item.Rates';\n\nRates.propTypes = {\n availability: PropTypes.number,\n filter: PropTypes.shape({\n board: PropTypes.string,\n }),\n occupation: PropTypes.arrayOf(PropTypes.array),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({}),\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","boards","cancellations","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","included","restrictions","length","createElement","Fragment","View","className","offset","gap","anchor","Text","action","small","bold","L10N","LABEL_CANCELLATION_POLICY","map","_ref2","name","caption","price","cancellation","Option","key","checked","title","value","onPress","Pressable","Icon","ICON","INFO","LABEL_RATE","_ref3","offer","Tooltip","text","LABEL_LIMITED_OFFER","OFFER","LABEL_ACCOMMODATION_PLAN","board","arguments","undefined","increment","slice","item","index","row","capitalize","Notification","warning","wide","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, Notification, Pressable, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n boards = [],\n cancellations = [],\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId, included = [], restrictions = [] } = selectedBoard;\n\n const has = {\n boards: boards.length > 1,\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n };\n\n return (\n <>\n {has.cancellations && (\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations.map(({ id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={price}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n )}\n\n {has.rates && (\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_RATE)}\n </Text>\n {rates.map(({ id, cancellationId, name, offer = false, price }) => (\n <Option\n key={id}\n checked={id === rateId}\n title={name}\n value={price}\n onPress={() => onRate({ id, cancellationId })}\n >\n {offer && (\n <Tooltip text={translate(L10N.LABEL_LIMITED_OFFER)}>\n <Icon value={ICON.OFFER} />\n </Tooltip>\n )}\n </Option>\n ))}\n </View>\n )}\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}) => {\n const { id, increment, name } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n title={name}\n value={increment}\n onPress={has.boards ? () => onBoard(board) : undefined}\n />\n );\n })}\n\n {included.length > 0 && (\n <View className={style.included}>\n {included.slice(0, 3).map((item, index) => (\n <View key={index} row className={style.gap}>\n <Text small>{'•'}</Text>\n <Text capitalize small>\n {item}\n </Text>\n </View>\n ))}\n </View>\n )}\n\n {restrictions.length > 0 && (\n <Notification small warning wide>\n {restrictions[0]}\n </Notification>\n )}\n </View>\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item.Rates';\n\nRates.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Summary = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _ui = require("@mirai/ui");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _components = require("./components");
13
+ var _Item = require("./Item.l10n");
14
+ var style = _interopRequireWildcard(require("./Item.module.css"));
15
+ var _Rates = require("../../Rates.constants");
16
+ 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
+ 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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ 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
+ const Summary = _ref => {
21
+ let {
22
+ availability = 0,
23
+ multiRoom = false,
24
+ name: roomName,
25
+ selected = {},
26
+ selectedBoard = {},
27
+ taxes,
28
+ onChange
29
+ } = _ref;
30
+ const {
31
+ isMobile
32
+ } = (0, _ui.useDevice)();
33
+ const {
34
+ translate
35
+ } = (0, _locale.useLocale)();
36
+ const {
37
+ value: {
38
+ currency,
39
+ hotel: {
40
+ warningAvailability = 9999
41
+ }
42
+ } = {}
43
+ } = (0, _dataSources.useStore)();
44
+ const {
45
+ basePrice,
46
+ cancellationId,
47
+ dayPrice,
48
+ discount: {
49
+ percentage: discountPercentage = 0,
50
+ breakdown = []
51
+ } = {},
52
+ id,
53
+ name,
54
+ originalPrice,
55
+ price,
56
+ rateId
57
+ } = selectedBoard;
58
+ const isSelected = selected.id === id;
59
+ const handlePress = () => {
60
+ onChange(!isSelected ? {
61
+ basePrice,
62
+ cancellationId,
63
+ id,
64
+ name,
65
+ price,
66
+ rateId,
67
+ roomName
68
+ } : undefined);
69
+ };
70
+ const hasDiscountClub = discountPercentage > 0 && breakdown.find(_ref2 => {
71
+ let {
72
+ type
73
+ } = _ref2;
74
+ return type === _Rates.DISCOUNT_TYPE.CLUB;
75
+ });
76
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
77
+ className: [style.offset, style.summary]
78
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
79
+ row: true,
80
+ className: style.spaceBetween
81
+ }, discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
82
+ bold: true,
83
+ small: true,
84
+ className: style.discount
85
+ }, hasDiscountClub && "".concat(translate(_Item.L10N.LABEL_CLUB_MEMBERS), " "), translate(_Item.L10N.LABEL_DISCOUNT, {
86
+ value: "".concat(discountPercentage, "%")
87
+ })), availability <= warningAvailability && /*#__PURE__*/_react.default.createElement(_ui.Text, {
88
+ small: true,
89
+ className: style.availability
90
+ }, translate(_Item.L10N.LABEL_REMAINING_ITEMS, {
91
+ amount: availability
92
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
93
+ row: true,
94
+ className: (style.gap, style.content)
95
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
96
+ row: true,
97
+ className: style.price
98
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
99
+ bold: true,
100
+ headline: true,
101
+ level: isMobile ? 3 : 2
102
+ }, (0, _locale.currencyFormat)({
103
+ currency,
104
+ value: price
105
+ })), price !== originalPrice && /*#__PURE__*/_react.default.createElement(_ui.Text, {
106
+ action: true,
107
+ lighten: true,
108
+ className: style.lineThrough
109
+ }, (0, _locale.currencyFormat)({
110
+ currency,
111
+ value: originalPrice
112
+ }))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
113
+ small: !isMobile,
114
+ tiny: isMobile
115
+ }, "".concat((0, _locale.currencyFormat)({
116
+ currency,
117
+ value: dayPrice
118
+ }), " ").concat(translate(_Item.L10N.LABEL_PER_UNIT_NIGHT))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
119
+ lighten: true,
120
+ small: !isMobile,
121
+ tiny: isMobile
122
+ }, translate(taxes ? _Item.L10N.LABEL_EXCLUDES_TAXES_FEES : _Item.L10N.LABEL_INCLUDES_TAXES_FEES)), discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_components.Discount, _extends({}, selectedBoard, {
123
+ className: style.priceDetails
124
+ }))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
125
+ large: !isMobile,
126
+ secondary: isSelected,
127
+ onPress: handlePress
128
+ }, translate(isSelected ? _Item.L10N.LABEL_DESELECT : multiRoom ? _Item.L10N.LABEL_SELECT : _Item.L10N.LABEL_SELECT)))));
129
+ };
130
+ exports.Summary = Summary;
131
+ Summary.displayName = 'Mirai:Core:Rates:Item.Summary';
132
+ Summary.propTypes = {
133
+ availability: _propTypes.default.number,
134
+ multiRoom: _propTypes.default.bool,
135
+ name: _propTypes.default.string,
136
+ selected: _propTypes.default.shape({}),
137
+ selectedBoard: _propTypes.default.shape({}),
138
+ taxes: _propTypes.default.string,
139
+ onChange: _propTypes.default.func
140
+ };
141
+ //# sourceMappingURL=Item.Summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_Rates","_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","Summary","_ref","availability","multiRoom","name","roomName","selected","selectedBoard","taxes","onChange","isMobile","useDevice","translate","useLocale","value","currency","hotel","warningAvailability","useStore","basePrice","cancellationId","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","row","spaceBetween","Text","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","LABEL_REMAINING_ITEMS","amount","gap","content","headline","level","currencyFormat","action","lighten","lineThrough","tiny","LABEL_PER_UNIT_NIGHT","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","Discount","priceDetails","Button","large","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Discount } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n availability = 0,\n multiRoom = false,\n name: roomName,\n selected = {},\n selectedBoard = {},\n taxes,\n onChange,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n const {\n basePrice,\n cancellationId,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n onChange(!isSelected ? { basePrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row className={style.spaceBetween}>\n {discountPercentage > 0 && (\n <Text bold small className={style.discount}>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n {availability <= warningAvailability && (\n <Text small className={style.availability}>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View row className={(style.gap, style.content)}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, value: originalPrice })}\n </Text>\n )}\n </View>\n\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_UNIT_NIGHT,\n )}`}</Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n\n {discountPercentage > 0 && <Discount {...selectedBoard} className={style.priceDetails} />}\n </View>\n\n <Button large={!isMobile} secondary={isSelected} onPress={handlePress}>\n {translate(isSelected ? L10N.LABEL_DESELECT : multiRoom ? L10N.LABEL_SELECT : L10N.LABEL_SELECT)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item.Summary';\n\nSummary.propTypes = {\n availability: PropTypes.number,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxes: PropTypes.string,\n onChange: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAC,uBAAA,CAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AAAsD,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEtD,MAAMK,OAAO,GAAGC,IAAA,IAQV;EAAA,IARW;IACfC,YAAY,GAAG,CAAC;IAChBC,SAAS,GAAG,KAAK;IACjBC,IAAI,EAAEC,QAAQ;IACdC,QAAQ,GAAG,CAAC,CAAC;IACbC,aAAa,GAAG,CAAC,CAAC;IAClBC,KAAK;IACLC;EACF,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK,EAAE;QAAEC,mBAAmB,GAAG;MAAK;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEtF,MAAM;IACJC,SAAS;IACTC,cAAc;IACdC,QAAQ;IACRC,QAAQ,EAAE;MAAEC,UAAU,EAAEC,kBAAkB,GAAG,CAAC;MAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IACrEC,EAAE;IACFtB,IAAI;IACJuB,aAAa;IACbC,KAAK;IACLC;EACF,CAAC,GAAGtB,aAAa;EAEjB,MAAMuB,UAAU,GAAGxB,QAAQ,CAACoB,EAAE,KAAKA,EAAE;EAErC,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACxBtB,QAAQ,CAAC,CAACqB,UAAU,GAAG;MAAEX,SAAS;MAAEC,cAAc;MAAEM,EAAE;MAAEtB,IAAI;MAAEwB,KAAK;MAAEC,MAAM;MAAExB;IAAS,CAAC,GAAG2B,SAAS,CAAC;EACtG,CAAC;EAED,MAAMC,eAAe,GAAGT,kBAAkB,GAAG,CAAC,IAAIC,SAAS,CAACS,IAAI,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAK,CAAC,GAAAD,KAAA;IAAA,OAAKC,IAAI,KAAKC,oBAAa,CAACC,IAAI;EAAA,EAAC;EAE3G,oBACE3E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAA5E,MAAA,CAAAY,OAAA,CAAAiE,QAAA,qBACE7E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACC,SAAS,EAAE,CAAC5E,KAAK,CAAC6E,MAAM,EAAE7E,KAAK,CAAC8E,OAAO;EAAE,gBAC7CjF,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAE5E,KAAK,CAACgF;EAAa,GACrCtB,kBAAkB,GAAG,CAAC,iBACrB7D,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACC,IAAI;IAACC,KAAK;IAACP,SAAS,EAAE5E,KAAK,CAACwD;EAAS,GACxCW,eAAe,OAAAiB,MAAA,CAAOtC,SAAS,CAACuC,UAAI,CAACC,kBAAkB,CAAC,MAAG,EAC3DxC,SAAS,CAACuC,UAAI,CAACE,cAAc,EAAE;IAAEvC,KAAK,KAAAoC,MAAA,CAAK1B,kBAAkB;EAAI,CAAC,CAC/D,CACP,EAEAtB,YAAY,IAAIe,mBAAmB,iBAClCtD,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACE,KAAK;IAACP,SAAS,EAAE5E,KAAK,CAACoC;EAAa,GACvCU,SAAS,CAACuC,UAAI,CAACG,qBAAqB,EAAE;IAAEC,MAAM,EAAErD;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEPvC,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,GAAG5E,KAAK,CAAC0F,GAAG,EAAE1F,KAAK,CAAC2F,OAAO;EAAE,gBAC9C9F,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI,qBACH9E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAE5E,KAAK,CAAC8D;EAAM,gBAC/BjE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACC,IAAI;IAACU,QAAQ;IAACC,KAAK,EAAEjD,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzC,IAAAkD,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEc;EAAM,CAAC,CACtC,CAAC,EAENA,KAAK,KAAKD,aAAa,iBACtBhE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACc,MAAM;IAACC,OAAO;IAACpB,SAAS,EAAE5E,KAAK,CAACiG;EAAY,GAC/C,IAAAH,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEa;EAAc,CAAC,CAC9C,CAEJ,CAAC,eAEPhE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACE,KAAK,EAAE,CAACvC,QAAS;IAACsD,IAAI,EAAEtD;EAAS,MAAAwC,MAAA,CAAK,IAAAU,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEO;EAAS,CAAC,CAAC,OAAA6B,MAAA,CAAItC,SAAS,CACpGuC,UAAI,CAACc,oBACP,CAAC,CAAS,CAAC,eAEXtG,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACe,OAAO;IAACb,KAAK,EAAE,CAACvC,QAAS;IAACsD,IAAI,EAAEtD;EAAS,GAC5CE,SAAS,CAACJ,KAAK,GAAG2C,UAAI,CAACe,yBAAyB,GAAGf,UAAI,CAACgB,yBAAyB,CAC9E,CAAC,EAEN3C,kBAAkB,GAAG,CAAC,iBAAI7D,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC3E,WAAA,CAAAwG,QAAQ,EAAA7E,QAAA,KAAKgB,aAAa;IAAEmC,SAAS,EAAE5E,KAAK,CAACuG;EAAa,EAAE,CACpF,CAAC,eAEP1G,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAA8G,MAAM;IAACC,KAAK,EAAE,CAAC7D,QAAS;IAAC8D,SAAS,EAAE1C,UAAW;IAAC2C,OAAO,EAAE1C;EAAY,GACnEnB,SAAS,CAACkB,UAAU,GAAGqB,UAAI,CAACuB,cAAc,GAAGvE,SAAS,GAAGgD,UAAI,CAACwB,YAAY,GAAGxB,UAAI,CAACwB,YAAY,CACzF,CACJ,CACF,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAA5E,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAAC6E,WAAW,GAAG,+BAA+B;AAErD7E,OAAO,CAAC8E,SAAS,GAAG;EAClB5E,YAAY,EAAE6E,kBAAS,CAACC,MAAM;EAC9B7E,SAAS,EAAE4E,kBAAS,CAACE,IAAI;EACzB7E,IAAI,EAAE2E,kBAAS,CAACG,MAAM;EACtB5E,QAAQ,EAAEyE,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7B5E,aAAa,EAAEwE,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAClC3E,KAAK,EAAEuE,kBAAS,CAACG,MAAM;EACvBzE,QAAQ,EAAEsE,kBAAS,CAACK;AACtB,CAAC"}