@mirai/core 0.4.16 → 0.4.18

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 (137) hide show
  1. package/README.md +259 -90
  2. package/__tests__/BookingQuery/workflows/login.workflow.js +2 -2
  3. package/__tests__/Checkout/workflows/form.workflow.js +8 -8
  4. package/__tests__/Deals/__mocks__/deals-success.json +739 -0
  5. package/__tests__/checkout.spec.jsx +10 -0
  6. package/__tests__/deals.spec.js +7 -0
  7. package/build/components/BannerLoyalty/BannerLoyalty.js +70 -63
  8. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  9. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +7 -1
  10. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
  11. package/build/components/BannerLoyalty/BannerLoyalty.module.css +55 -30
  12. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +27 -29
  13. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
  14. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +183 -186
  15. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +61 -62
  16. package/build/components/Booking/Booking.module.css +3 -3
  17. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
  18. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +12 -12
  19. package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +25 -15
  20. package/build/components/Chat/Chat.module.css +0 -2
  21. package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +4 -4
  22. package/build/components/Checkout/Checkout.module.css +3 -3
  23. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
  24. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +20 -20
  25. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
  26. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +12 -12
  27. package/build/components/Finder/Finder.compact.js +20 -20
  28. package/build/components/Finder/Finder.compact.js.map +1 -1
  29. package/build/components/Finder/Finder.js +3 -3
  30. package/build/components/Finder/Finder.js.map +1 -1
  31. package/build/components/Finder/Finder.module.css +30 -8
  32. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +68 -42
  33. package/build/components/Finder/components/Calendar/Calendar.module.css +1 -1
  34. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
  35. package/build/components/Finder/components/Places/Places.js +24 -6
  36. package/build/components/Finder/components/Places/Places.js.map +1 -1
  37. package/build/components/Finder/components/Places/Places.module.css +27 -2
  38. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -9
  39. package/build/components/Finder/components/Places/helpers/calcColumns.js +1 -1
  40. package/build/components/Finder/components/Places/helpers/calcColumns.js.map +1 -1
  41. package/build/components/Header/Header.js +6 -4
  42. package/build/components/Header/Header.js.map +1 -1
  43. package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +3 -3
  44. package/build/components/Header/components/BookingProcess/BookingProcess.module.css +9 -5
  45. package/build/components/Rates/Rates.Header.js +8 -11
  46. package/build/components/Rates/Rates.Header.js.map +1 -1
  47. package/build/components/Rates/Rates.RoomSelector.js +1 -1
  48. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  49. package/build/components/Rates/Rates.Skeleton.js +2 -3
  50. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  51. package/build/components/Rates/Rates.Unavailability.js +2 -1
  52. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  53. package/build/components/Rates/Rates.js +13 -16
  54. package/build/components/Rates/Rates.js.map +1 -1
  55. package/build/components/Rates/Rates.module.css +16 -7
  56. package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +1 -8
  57. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +8042 -6319
  58. package/build/components/Rates/components/CardHotel/CardHotel.js +34 -13
  59. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  60. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
  61. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
  62. package/build/components/Rates/components/CardHotel/CardHotel.module.css +19 -2
  63. package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +51 -35
  64. package/build/components/Rates/components/Filters/Filters.Button.js +3 -4
  65. package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
  66. package/build/components/Rates/components/Filters/Filters.js +2 -1
  67. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  68. package/build/components/Rates/components/Filters/Filters.module.css +23 -1
  69. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +1 -1
  70. package/build/components/Rates/components/Item/Item.Preview.js +25 -9
  71. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  72. package/build/components/Rates/components/Item/Item.Rates.js +8 -5
  73. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  74. package/build/components/Rates/components/Item/Item.js +31 -2
  75. package/build/components/Rates/components/Item/Item.js.map +1 -1
  76. package/build/components/Rates/components/Item/Item.module.css +4 -0
  77. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +1 -1
  78. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +1 -1
  79. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +2 -9
  80. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.module.css +3 -7
  81. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +5 -5
  82. package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +2 -2
  83. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +2 -15
  84. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  85. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +3 -7
  86. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +6 -6
  87. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -1
  88. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  89. package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -1
  90. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  91. package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +1 -1
  92. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +6 -4
  93. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
  94. package/build/components/Rates/components/ModalClubRate/ModalClubRate.module.css +4 -0
  95. package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +4 -4
  96. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -1
  97. package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +1 -1
  98. package/build/components/Signup/Signup.module.css +1 -1
  99. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +6 -6
  100. package/build/components/__shared__/BookingSummary/BookingSummary.module.css +3 -3
  101. package/build/components/__shared__/Card/Card.module.css +16 -15
  102. package/build/components/__shared__/Field/Field.js +3 -1
  103. package/build/components/__shared__/Field/Field.js.map +1 -1
  104. package/build/components/__shared__/Field/Field.module.css +11 -1
  105. package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -6
  106. package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
  107. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +18 -17
  108. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +6 -3
  109. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  110. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +8 -8
  111. package/build/components/__shared__/Occupation/Occupation.js +6 -4
  112. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  113. package/build/components/__shared__/Occupation/Occupation.module.css +11 -11
  114. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +44 -44
  115. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +10 -10
  116. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +12 -12
  117. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.module.css +3 -3
  118. package/build/components/helpers/ICON.AMENITIES.js +2 -2
  119. package/build/components/helpers/ICON.AMENITIES.js.map +1 -1
  120. package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +8 -8
  121. package/build/components/index.js +0 -2
  122. package/build/components/index.js.map +1 -1
  123. package/build/contexts/PerformanceManager/PerformanceManager.js +11 -4
  124. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  125. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +4 -3
  126. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
  127. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js +2 -1
  128. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js.map +1 -1
  129. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js +12 -5
  130. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js.map +1 -1
  131. package/build/helpers/consolidateStore.js +4 -2
  132. package/build/helpers/consolidateStore.js.map +1 -1
  133. package/build/theme.css +44 -5
  134. package/package.json +1 -1
  135. package/public/performance/index.html +159 -0
  136. package/build/components/Chat/Chat.theme.module.css +0 -49
  137. package/build/components/__shared__/FieldOccupation/FieldOccupation.module.css +0 -5
@@ -81,6 +81,10 @@
81
81
  max-height: var(--mirai-modal-max-height);
82
82
  }
83
83
 
84
+ .button {
85
+ margin-left: var(--mirai-ui-space-S);
86
+ }
87
+
84
88
  .section [data-role='input-option'] {
85
89
  width: 90%;
86
90
  }
@@ -88,13 +92,17 @@
88
92
 
89
93
  /* M & L */
90
94
  @media only screen and (min-width: 481px) {
95
+ .button {
96
+ position: absolute;
97
+ right: 0;
98
+ }
99
+
91
100
  .button:hover .counter {
92
101
  background-color: var(--mirai-ui-accent-dark);
93
102
  }
94
103
 
95
104
  .modal {
96
105
  max-height: 90svh;
97
- width: 768px;
98
106
  }
99
107
 
100
108
  .section .amenities [data-role='input-option'] {
@@ -109,3 +117,17 @@
109
117
  padding: var(--mirai-ui-space-L) var(--mirai-ui-space-M);
110
118
  }
111
119
  }
120
+
121
+ /* M & L */
122
+ @media only screen and (min-width: 481px) and (max-width: 1179px) {
123
+ .modal {
124
+ max-width: calc(var(--mirai-ui-breakpoint-content) / 2);
125
+ }
126
+ }
127
+
128
+ /* M & L */
129
+ @media only screen and (min-width: 1180px) {
130
+ .modal {
131
+ max-width: calc(var(--mirai-ui-breakpoint-content) / 1.5);
132
+ }
133
+ }
@@ -73,7 +73,7 @@ exports[`<Rates> <Filters> renders 1`] = `
73
73
  </ui-button>
74
74
  </ui-view>
75
75
  <ui-scrollview
76
- class="scrollview vertical"
76
+ class="scrollview vertical notIndicator"
77
77
  >
78
78
  <ui-view
79
79
  class="view"
@@ -43,12 +43,12 @@ const Preview = _ref => {
43
43
  selectedBoard = {},
44
44
  onCancellationInfo,
45
45
  onMoreInfo,
46
+ onOfferInfo = () => {},
46
47
  onViewUrl = () => {},
47
48
  ...others
48
49
  } = _ref;
49
50
  const {
50
51
  height,
51
- isDesktop,
52
52
  isMobile,
53
53
  isPortrait,
54
54
  isTablet,
@@ -72,8 +72,8 @@ const Preview = _ref => {
72
72
  const {
73
73
  clientWidth
74
74
  } = ref.current || {};
75
- if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);
76
- }, [isDesktop, isTablet, width]);
75
+ if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);
76
+ }, [isTablet, width]);
77
77
  const handleSliderCounter = () => {
78
78
  onMoreInfo && onMoreInfo();
79
79
  _dataSources.Event.publish(_helpers.EVENT.METRICS, {
@@ -86,17 +86,20 @@ const Preview = _ref => {
86
86
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
87
87
  return countdown > 0;
88
88
  });
89
- const [uniqueRate] = cancellations.length === availableRates.length && (countdownRates === 0 || availableRates.filter(function () {
89
+ const [firstRate = {}] = availableRates;
90
+ const [uniqueRate] = cancellations.length === availableRates.length && (!countdownRates.length || availableRates.filter(function () {
90
91
  let {
91
92
  countdown
92
93
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93
94
  return countdown > 0;
94
- }).length === availableRates.length) && !availableRates.find(function () {
95
+ }).length === availableRates.length) && availableRates.filter(function () {
95
96
  let {
96
- description
97
+ description,
98
+ included,
99
+ name
97
100
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
98
- return !!description;
99
- }) && !highlightStandaloneOption ? rates : [];
101
+ return firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
102
+ }).length === availableRates.length && !highlightStandaloneOption ? rates : [];
100
103
  const [uniqueBoard] = boards.length === 1 && availableBoards.filter(function () {
101
104
  let {
102
105
  name
@@ -163,7 +166,19 @@ const Preview = _ref => {
163
166
  }, title), !isMobile && /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
164
167
  highlight: true,
165
168
  preview: true
166
- }, others)), uniqueRate && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, uniqueRate.countdown && /*#__PURE__*/_react.default.createElement(_components.Countdown, {
169
+ }, others)), uniqueRate && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, uniqueRate.description && /*#__PURE__*/_react.default.createElement(_ui.Text, {
170
+ action: !isMobile,
171
+ small: isMobile,
172
+ className: [style.optionText, style.standalone]
173
+ }, uniqueRate.name, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
174
+ onPress: () => onOfferInfo({
175
+ ...uniqueRate,
176
+ availableBoards
177
+ })
178
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
179
+ paragraph: true,
180
+ value: _helpers.ICON.INFO
181
+ }))), uniqueRate.countdown && /*#__PURE__*/_react.default.createElement(_components.Countdown, {
167
182
  offer: true,
168
183
  timestamp: uniqueRate.countdown
169
184
  }), uniqueRate.included.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -259,6 +274,7 @@ Preview.propTypes = {
259
274
  selectedBoard: _propTypes.default.shape({}),
260
275
  onCancellationInfo: _propTypes.default.func,
261
276
  onMoreInfo: _propTypes.default.func,
277
+ onOfferInfo: _propTypes.default.func,
262
278
  onViewUrl: _propTypes.default.func
263
279
  };
264
280
  //# sourceMappingURL=Item.Preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","promocodeForAll","rates","selectedBoard","onCancellationInfo","onMoreInfo","onViewUrl","others","height","isDesktop","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","promocode","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","id","countdownRates","filter","countdown","undefined","uniqueRate","find","description","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","roomId","onCounter","slider","row","tags","Text","bold","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","Countdown","offer","timestamp","included","item","index","AMENITY","TooltipDates","captions","values","parseDate","Pressable","onPress","cancellation","paragraph","INFO","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Countdown, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isDesktop, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { promocode } = {}, hotel: { warningAvailability = 9999 } = {} } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet && !isDesktop ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isDesktop, isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n\n const [uniqueRate] =\n cancellations.length === availableRates.length &&\n (countdownRates === 0 ||\n availableRates.filter(({ countdown } = {}) => countdown > 0).length === availableRates.length) &&\n !availableRates.find(({ description } = {}) => !!description) &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates, variants = [] } = selectedBoard;\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n roomId={others.id}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.countdown && <Countdown offer timestamp={uniqueRate.countdown} />}\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n\n {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {variableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action small={isMobile} onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","promocodeForAll","rates","selectedBoard","onCancellationInfo","onMoreInfo","onOfferInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","promocode","hotel","warningAvailability","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","id","countdownRates","filter","countdown","undefined","firstRate","uniqueRate","description","included","JSON","stringify","uniqueBoard","caption","capitalize","action","small","offerDates","variants","createElement","View","className","preview","Slider","map","_ref2","large","roomId","onCounter","slider","row","tags","Text","bold","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Amenities","highlight","Fragment","optionText","standalone","Pressable","onPress","paragraph","INFO","Countdown","offer","timestamp","item","index","AMENITY","TooltipDates","captions","values","parseDate","cancellation","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","Action","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Countdown, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\n onOfferInfo = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { promocode } = {}, hotel: { warningAvailability = 9999 } = {} } = {} } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const [firstRate = {}] = availableRates;\n\n const [uniqueRate] =\n cancellations.length === availableRates.length &&\n (!countdownRates.length ||\n availableRates.filter(({ countdown } = {}) => countdown > 0).length === availableRates.length) &&\n availableRates.filter(\n ({ description, included, name } = {}) =>\n firstRate.description === description &&\n firstRate.name === name &&\n JSON.stringify(firstRate.included) === JSON.stringify(included),\n ).length === availableRates.length &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates, variants = [] } = selectedBoard;\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n roomId={others.id}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.description && (\n <Text action={!isMobile} small={isMobile} className={[style.optionText, style.standalone]}>\n {uniqueRate.name}\n <Pressable onPress={() => onOfferInfo({ ...uniqueRate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n )}\n {uniqueRate.countdown && <Countdown offer timestamp={uniqueRate.countdown} />}\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n\n {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {variableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action small={isMobile} onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -65,6 +65,7 @@ const Rates = _ref => {
65
65
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
66
66
  return countdown > 0;
67
67
  });
68
+ const [firstRate = {}] = availableRates;
68
69
  const has = {
69
70
  cancellations: cancellations.length > 1 || highlightStandaloneOption,
70
71
  boards: boards.length > 1 || availableBoards.filter(function () {
@@ -75,12 +76,14 @@ const Rates = _ref => {
75
76
  }).length !== availableBoards.length || highlightStandaloneOption,
76
77
  inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),
77
78
  inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),
78
- rates: cancellations.length !== availableRates.length || countdownRates.length > 0 && countdownRates.length !== availableRates.length || availableRates.find(function () {
79
+ rates: cancellations.length !== availableRates.length || countdownRates.length > 0 && countdownRates.length !== availableRates.length || availableRates.filter(function () {
79
80
  let {
80
- description
81
+ description,
82
+ included,
83
+ name
81
84
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
82
- return !!description;
83
- }) || highlightStandaloneOption
85
+ return !description || firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
86
+ }).length !== availableRates.length || highlightStandaloneOption
84
87
  };
85
88
  const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
86
89
  className: [style.offset, style.gap]
@@ -94,7 +97,7 @@ const Rates = _ref => {
94
97
  let {
95
98
  id
96
99
  } = _ref2;
97
- return !showOffersFirst || showOffersFirst && id === cancellationId;
100
+ return !showOffersFirst || showOffersFirst && (id === cancellationId || !has.rates);
98
101
  }).map(_ref3 => {
99
102
  let {
100
103
  highlight,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","countdownRates","filter","countdown","arguments","length","undefined","name","inlineBoards","inlineCancellations","find","description","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","disabled","included","restrictions","rate","board","confidential","discount","breakdown","percentage","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","discountPercentage","RateDetails","tags","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n boards.length > 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !== availableBoards.length ||\n highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates:\n cancellations.length !== availableRates.length ||\n (countdownRates.length > 0 && countdownRates.length !== availableRates.length) ||\n availableRates.find(({ description } = {}) => !!description) ||\n highlightStandaloneOption,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [], percentage } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const discountPercentage = (isPromocode && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","countdownRates","filter","countdown","arguments","length","undefined","firstRate","name","inlineBoards","inlineCancellations","description","included","JSON","stringify","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","disabled","restrictions","rate","find","board","confidential","discount","breakdown","percentage","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","discountPercentage","RateDetails","tags","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const [firstRate = {}] = availableRates;\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n boards.length > 1 ||\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !== availableBoards.length ||\n highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates:\n cancellations.length !== availableRates.length ||\n (countdownRates.length > 0 && countdownRates.length !== availableRates.length) ||\n availableRates.filter(\n ({ description, included, name } = {}) =>\n !description ||\n (firstRate.description === description &&\n firstRate.name === name &&\n JSON.stringify(firstRate.included) === JSON.stringify(included)),\n ).length !== availableRates.length ||\n highlightStandaloneOption,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [], percentage } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const discountPercentage = (isPromocode && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Item = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
8
9
  var _ui = require("@mirai/ui");
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _react = _interopRequireWildcard(require("react"));
@@ -14,6 +15,7 @@ var _Item2 = require("./Item.Rates");
14
15
  var _Item3 = require("./Item.Summary");
15
16
  var _shared__ = require("../../../__shared__");
16
17
  var _helpers = require("../../../helpers");
18
+ var _helpers2 = require("../../helpers");
17
19
  var _Rates = require("../../Rates.constants");
18
20
  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); }
19
21
  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; }
@@ -28,12 +30,15 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
28
30
  metaBoard,
29
31
  multiRoom,
30
32
  priceFactor = 1,
31
- rates = [],
33
+ rates: propRates = [],
32
34
  selected,
33
35
  onPreview,
34
36
  onSelect = () => {},
35
37
  ...others
36
38
  } = _ref;
39
+ const {
40
+ translate
41
+ } = (0, _locale.useLocale)();
37
42
  const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
38
43
  const [touched, setTouched] = (0, _react.useState)(false);
39
44
  (0, _react.useEffect)(() => {
@@ -46,7 +51,12 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
46
51
  }, [boards]);
47
52
  (0, _react.useEffect)(() => {
48
53
  if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;
49
- setSelectedBoard(metaBoard);
54
+ setSelectedBoard(boards.find(function () {
55
+ let {
56
+ id
57
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
+ return id === metaBoard.id;
59
+ }));
50
60
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
61
  }, [metaBoard]);
52
62
  (0, _react.useEffect)(() => {
@@ -130,6 +140,25 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
130
140
  rateId
131
141
  } = selectedBoard || {};
132
142
  const cancellationPrice = findPrice(cancellationId, cancellations);
143
+ const rates = propRates.map(function () {
144
+ let {
145
+ included = [],
146
+ ...rate
147
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
148
+ const clubInclude = (0, _helpers2.getClubInclude)((0, _helpers2.getClubRate)({
149
+ board: boards.filter(function () {
150
+ let {
151
+ rateId
152
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
153
+ return rateId === rate.id;
154
+ })[0],
155
+ rate
156
+ }));
157
+ return {
158
+ ...rate,
159
+ included: clubInclude ? [...included, translate(clubInclude)] : included
160
+ };
161
+ });
133
162
  const ratePrice = findPrice(rateId, rates);
134
163
  const visibleBoards = boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId);
135
164
  const isSoldOut = others.soldOut && (rates.length === 0 || Object.values(others.cart || {}).filter(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","promocodeForAll","every","confidential","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","_ref5","DEAL","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { 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';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n priceFactor,\n promocodeForAll: boards.every(\n ({ confidential, discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential),\n ),\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\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 features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n roomId: PropTypes.number,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_helpers2","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","propRates","selected","onPreview","onSelect","others","translate","useLocale","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","find","undefined","roomName","name","nextBoard","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","map","included","rate","clubInclude","getClubInclude","getClubRate","filter","ratePrice","visibleBoards","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","promocodeForAll","every","confidential","discount","breakdown","_ref4","type","DISCOUNT_TYPE","PROMOTION","_ref5","DEAL","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","number","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { 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';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\nimport { getClubInclude, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates: propRates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;\n\n setSelectedBoard(boards.find(({ id } = {}) => id === metaBoard.id));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const rates = propRates.map(({ included = [], ...rate } = {}) => {\n const clubInclude = getClubInclude(\n getClubRate({\n board: boards.filter(({ rateId } = {}) => rateId === rate.id)[0],\n rate,\n }),\n );\n\n return { ...rate, included: clubInclude ? [...included, translate(clubInclude)] : included };\n });\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n priceFactor,\n promocodeForAll: boards.every(\n ({ confidential, discount: { breakdown = [] } = {} } = {}) =>\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n (breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) && confidential),\n ),\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\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 features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n roomId: PropTypes.number,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -108,6 +108,10 @@
108
108
  top: calc(var(--mirai-ui-space-XXS) / 3);
109
109
  }
110
110
 
111
+ .card .optionText.standalone {
112
+ margin-left: calc(var(--mirai-ui-space-XXS) / 4);
113
+ }
114
+
111
115
  .card .inlineOptions {
112
116
  align-items: stretch;
113
117
  }
@@ -14,7 +14,7 @@ exports[`<Rates> <Item.Preview> renders 1`] = `
14
14
  style="height: 208px; max-height: 208px; width: 374px;"
15
15
  >
16
16
  <ui-scrollview
17
- class="scrollview snap horizontal scrollView"
17
+ class="scrollview snap horizontal notIndicator scrollView"
18
18
  style="width: 374px;"
19
19
  />
20
20
  <ui-progress
@@ -20,7 +20,7 @@ exports[`<Rates> <Item> renders 1`] = `
20
20
  style="height: 208px; max-height: 208px; width: 374px;"
21
21
  >
22
22
  <ui-scrollview
23
- class="scrollview snap horizontal scrollView"
23
+ class="scrollview snap horizontal notIndicator scrollView"
24
24
  style="width: 374px;"
25
25
  />
26
26
  <ui-progress