@mirai/core 0.4.13 → 0.4.14

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 (148) hide show
  1. package/build/Core.constants.js +1 -2
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.js +27 -8
  4. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  5. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +1 -1
  6. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
  7. package/build/components/BannerLoyalty/BannerLoyalty.module.css +13 -0
  8. package/build/components/Chat/Chat.constants.js +4 -1
  9. package/build/components/Chat/Chat.constants.js.map +1 -1
  10. package/build/components/Chat/Chat.js +4 -5
  11. package/build/components/Chat/Chat.js.map +1 -1
  12. package/build/components/Chat/Chat.theme.module.css +1 -1
  13. package/build/components/Chat/__tests__/__snapshots__/Chat.constants.test.js.snap +3 -0
  14. package/build/components/Chat/components/Message/Message.constants.js +4 -7
  15. package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
  16. package/build/components/Finder/Finder.js +6 -11
  17. package/build/components/Finder/Finder.js.map +1 -1
  18. package/build/components/Finder/components/Calendar/Calendar.js +1 -1
  19. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  20. package/build/components/Rates/Rates.Content.js +3 -1
  21. package/build/components/Rates/Rates.Content.js.map +1 -1
  22. package/build/components/Rates/Rates.Footer.js +3 -3
  23. package/build/components/Rates/Rates.Footer.js.map +1 -1
  24. package/build/components/Rates/Rates.Unavailability.js +10 -10
  25. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  26. package/build/components/Rates/Rates.constants.js +3 -2
  27. package/build/components/Rates/Rates.constants.js.map +1 -1
  28. package/build/components/Rates/Rates.js +38 -42
  29. package/build/components/Rates/Rates.js.map +1 -1
  30. package/build/components/Rates/Rates.l10n.js +0 -3
  31. package/build/components/Rates/Rates.l10n.js.map +1 -1
  32. package/build/components/Rates/Rates.module.css +1 -1
  33. package/build/components/Rates/__tests__/__snapshots__/Rates.Content.test.js.snap +18 -3
  34. package/build/components/Rates/__tests__/__snapshots__/Rates.Unavailability.test.js.snap +0 -10
  35. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +22 -3
  36. package/build/components/Rates/components/Filters/Filters.js +2 -2
  37. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  38. package/build/components/Rates/components/Item/Item.Preview.js +23 -2
  39. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  40. package/build/components/Rates/components/Item/Item.Rates.js +12 -1
  41. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  42. package/build/components/Rates/components/Item/Item.js +3 -2
  43. package/build/components/Rates/components/Item/Item.js.map +1 -1
  44. package/build/components/Rates/components/Item/Item.l10n.js +3 -0
  45. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  46. package/build/components/Rates/components/Item/components/{RateDetails/RateDetails.Countdown.js → Countdown/Countdown.js} +5 -3
  47. package/build/components/Rates/components/Item/components/Countdown/Countdown.js.map +1 -0
  48. package/build/components/Rates/components/Item/components/Countdown/Countdown.module.css +8 -0
  49. package/build/components/Rates/components/Item/components/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +3 -0
  50. package/build/components/Rates/components/{ClubRate → Item/components/Countdown}/index.js +4 -4
  51. package/build/components/Rates/components/Item/components/Countdown/index.js.map +1 -0
  52. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +3 -3
  53. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  54. package/build/components/Rates/components/Item/components/Slider/Slider.js +50 -16
  55. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  56. package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js +3 -0
  57. package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js.map +1 -1
  58. package/build/components/Rates/components/Item/components/index.js +11 -0
  59. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  60. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +128 -0
  61. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -0
  62. package/build/components/Rates/components/{ClubRate/ClubRate.l10n.js → ModalClubRate/ModalClubRate.l10n.js} +12 -3
  63. package/build/components/Rates/components/ModalClubRate/ModalClubRate.l10n.js.map +1 -0
  64. package/build/components/Rates/components/{ClubRate/ClubRate.module.css → ModalClubRate/ModalClubRate.module.css} +9 -16
  65. package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +257 -0
  66. package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js +45 -0
  67. package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js.map +1 -0
  68. package/build/components/Rates/components/ModalClubRate/helpers/index.js +17 -0
  69. package/build/components/Rates/components/ModalClubRate/helpers/index.js.map +1 -0
  70. package/build/components/Rates/components/ModalClubRate/index.js +17 -0
  71. package/build/components/Rates/components/ModalClubRate/index.js.map +1 -0
  72. package/build/components/Rates/components/index.js +11 -11
  73. package/build/components/Rates/components/index.js.map +1 -1
  74. package/build/components/Rates/helpers/{getMetaBoard.js → getBoard.js} +8 -8
  75. package/build/components/Rates/helpers/getBoard.js.map +1 -0
  76. package/build/components/Rates/helpers/index.js +11 -11
  77. package/build/components/Rates/helpers/index.js.map +1 -1
  78. package/build/components/Session/Session.Account.js +5 -3
  79. package/build/components/Session/Session.Account.js.map +1 -1
  80. package/build/components/Session/Session.Login.Modal.js +18 -8
  81. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  82. package/build/components/Session/Session.Login.js +1 -0
  83. package/build/components/Session/Session.Login.js.map +1 -1
  84. package/build/components/Session/Session.js +2 -4
  85. package/build/components/Session/Session.js.map +1 -1
  86. package/build/components/Session/Session.l10n.js +4 -1
  87. package/build/components/Session/Session.l10n.js.map +1 -1
  88. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +117 -1072
  89. package/build/components/__shared__/BookingSummary/BookingSummary.js +2 -0
  90. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  91. package/build/components/helpers/ICON.js +3 -1
  92. package/build/components/helpers/ICON.js.map +1 -1
  93. package/build/contexts/PerformanceManager/PerformanceManager.constants.js +66 -2
  94. package/build/contexts/PerformanceManager/PerformanceManager.constants.js.map +1 -1
  95. package/build/contexts/PerformanceManager/PerformanceManager.js +27 -21
  96. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  97. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +9 -5
  98. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
  99. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js +0 -4
  100. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js.map +1 -1
  101. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js +16 -5
  102. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js.map +1 -1
  103. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js +23 -6
  104. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js.map +1 -1
  105. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js +1 -1
  106. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js.map +1 -1
  107. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +10 -1
  108. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
  109. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js +6 -0
  110. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js.map +1 -1
  111. package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js +41 -0
  112. package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js.map +1 -0
  113. package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js +28 -0
  114. package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js.map +1 -0
  115. package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js +70 -0
  116. package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js.map +1 -0
  117. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js +10 -26
  118. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js.map +1 -1
  119. package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js +33 -0
  120. package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js.map +1 -0
  121. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js +11 -0
  122. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js.map +1 -1
  123. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +24 -3
  124. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
  125. package/build/helpers/consolidateStore.js +8 -2
  126. package/build/helpers/consolidateStore.js.map +1 -1
  127. package/build/helpers/getPerformance.js +4 -0
  128. package/build/helpers/getPerformance.js.map +1 -1
  129. package/package.json +1 -1
  130. package/public/index.html +1 -1
  131. package/build/components/Chat/services/Lisa/action.js +0 -28
  132. package/build/components/Chat/services/Lisa/action.js.map +0 -1
  133. package/build/components/Chat/services/Lisa/index.js +0 -17
  134. package/build/components/Chat/services/Lisa/index.js.map +0 -1
  135. package/build/components/Chat/services/Lisa/message.js +0 -26
  136. package/build/components/Chat/services/Lisa/message.js.map +0 -1
  137. package/build/components/Chat/services/Lisa/status.js +0 -13
  138. package/build/components/Chat/services/Lisa/status.js.map +0 -1
  139. package/build/components/Chat/services/Lisa/welcome.js +0 -25
  140. package/build/components/Chat/services/Lisa/welcome.js.map +0 -1
  141. package/build/components/Rates/components/ClubRate/ClubRate.js +0 -100
  142. package/build/components/Rates/components/ClubRate/ClubRate.js.map +0 -1
  143. package/build/components/Rates/components/ClubRate/ClubRate.l10n.js.map +0 -1
  144. package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap +0 -38
  145. package/build/components/Rates/components/ClubRate/index.js.map +0 -1
  146. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js.map +0 -1
  147. package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.Countdown.test.js.snap +0 -3
  148. package/build/components/Rates/helpers/getMetaBoard.js.map +0 -1
@@ -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","length","filter","name","arguments","undefined","inlineBoards","inlineCancellations","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","countdown","description","disabled","included","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 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: cancellations.length !== availableRates.length || 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","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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"}
@@ -45,7 +45,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
45
45
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
46
  }, [boards]);
47
47
  (0, _react.useEffect)(() => {
48
- if (!metaBoard || boards.length < 1) return;
48
+ if (!metaBoard || metaBoard.roomId !== others.id || boards.length < 1) return;
49
49
  setSelectedBoard(metaBoard);
50
50
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
51
  }, [metaBoard]);
@@ -228,7 +228,8 @@ Item.propTypes = {
228
228
  features: _propTypes.default.shape({}),
229
229
  filters: _propTypes.default.shape({}),
230
230
  metaBoard: _propTypes.default.shape({
231
- id: _propTypes.default.string
231
+ id: _propTypes.default.string,
232
+ roomId: _propTypes.default.number
232
233
  }),
233
234
  multiRoom: _propTypes.default.bool,
234
235
  priceFactor: _propTypes.default.number,
@@ -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","bool","number","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 || boards.length < 1) return;\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 }),\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","_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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"}
@@ -29,6 +29,9 @@ const L10N = exports.L10N = {
29
29
  LABEL_COUNTDOWN: {
30
30
  id: 'finder.label.countdown'
31
31
  },
32
+ LABEL_COUNTDOWN_OFFER: {
33
+ id: 'finder.label.countdown_offer'
34
+ },
32
35
  LABEL_CLUB_MEMBERS: {
33
36
  id: 'finder.label.club_members'
34
37
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_FOR_NIGHTS","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_FOR_NIGHTS: { id: 'common.label.for_nights' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,cAAc,EAAE;IAAED,EAAE,EAAE;EAAwB,CAAC;EAC/CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EACnDK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB,CAAC;EACjDQ,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,iBAAiB,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACrDU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEb,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDc,sBAAsB,EAAE;IAAEd,EAAE,EAAE;EAAgC,CAAC;EAC/De,YAAY,EAAE;IAAEf,EAAE,EAAE;EAAsB,CAAC;EAC3CgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,gBAAgB,EAAE;IAAEjB,EAAE,EAAE;EAA0B,CAAC;EACnDkB,cAAc,EAAE;IAAElB,EAAE,EAAE;EAAwB,CAAC;EAC/CmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,oBAAoB,EAAE;IAAEpB,EAAE,EAAE;EAA8B,CAAC;EAC3DqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,mBAAmB,EAAE;IAAEtB,EAAE,EAAE;EAA6B,CAAC;EACzDuB,WAAW,EAAE;IAAEvB,EAAE,EAAE;EAAqB,CAAC;EACzCwB,kBAAkB,EAAE;IAAExB,EAAE,EAAE;EAA4B,CAAC;EACvDyB,QAAQ,EAAE;IAAEzB,EAAE,EAAE;EAAkB,CAAC;EACnC0B,mBAAmB,EAAE;IAAE1B,EAAE,EAAE;EAA6B,CAAC;EACzD2B,eAAe,EAAE;IAAE3B,EAAE,EAAE;EAAyB,CAAC;EACjD4B,mBAAmB,EAAE;IAAE5B,EAAE,EAAE;EAA6B,CAAC;EACzD6B,qBAAqB,EAAE;IAAE7B,EAAE,EAAE;EAA+B,CAAC;EAC7D8B,YAAY,EAAE;IAAE9B,EAAE,EAAE;EAAsB,CAAC;EAC3C+B,yBAAyB,EAAE;IAAE/B,EAAE,EAAE;EAAmC,CAAC;EACrEgC,WAAW,EAAE;IAAEhC,EAAE,EAAE;EAAqB,CAAC;EACzCiC,mBAAmB,EAAE;IAAEjC,EAAE,EAAE;EAA6B,CAAC;EACzDkC,WAAW,EAAE;IAAElC,EAAE,EAAE;EAAqB,CAAC;EACzCmC,oBAAoB,EAAE;IAAEnC,EAAE,EAAE;EAA8B,CAAC;EAC3DoC,eAAe,EAAE;IAAEpC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
1
+ {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_COUNTDOWN_OFFER","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_FOR_NIGHTS","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_COUNTDOWN_OFFER: { id: 'finder.label.countdown_offer' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_FOR_NIGHTS: { id: 'common.label.for_nights' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,cAAc,EAAE;IAAED,EAAE,EAAE;EAAwB,CAAC;EAC/CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EACnDK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB,CAAC;EACjDQ,qBAAqB,EAAE;IAAER,EAAE,EAAE;EAA+B,CAAC;EAC7DS,kBAAkB,EAAE;IAAET,EAAE,EAAE;EAA4B,CAAC;EACvDU,iBAAiB,EAAE;IAAEV,EAAE,EAAE;EAA2B,CAAC;EACrDW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,cAAc,EAAE;IAAEZ,EAAE,EAAE;EAAwB,CAAC;EAC/Ca,uBAAuB,EAAE;IAAEb,EAAE,EAAE;EAAiC,CAAC;EACjEc,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEd,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDe,sBAAsB,EAAE;IAAEf,EAAE,EAAE;EAAgC,CAAC;EAC/DgB,YAAY,EAAE;IAAEhB,EAAE,EAAE;EAAsB,CAAC;EAC3CiB,UAAU,EAAE;IAAEjB,EAAE,EAAE;EAAoB,CAAC;EACvCkB,gBAAgB,EAAE;IAAElB,EAAE,EAAE;EAA0B,CAAC;EACnDmB,cAAc,EAAE;IAAEnB,EAAE,EAAE;EAAwB,CAAC;EAC/CoB,mBAAmB,EAAE;IAAEpB,EAAE,EAAE;EAA6B,CAAC;EACzDqB,oBAAoB,EAAE;IAAErB,EAAE,EAAE;EAA8B,CAAC;EAC3DsB,mBAAmB,EAAE;IAAEtB,EAAE,EAAE;EAA6B,CAAC;EACzDuB,mBAAmB,EAAE;IAAEvB,EAAE,EAAE;EAA6B,CAAC;EACzDwB,WAAW,EAAE;IAAExB,EAAE,EAAE;EAAqB,CAAC;EACzCyB,kBAAkB,EAAE;IAAEzB,EAAE,EAAE;EAA4B,CAAC;EACvD0B,QAAQ,EAAE;IAAE1B,EAAE,EAAE;EAAkB,CAAC;EACnC2B,mBAAmB,EAAE;IAAE3B,EAAE,EAAE;EAA6B,CAAC;EACzD4B,eAAe,EAAE;IAAE5B,EAAE,EAAE;EAAyB,CAAC;EACjD6B,mBAAmB,EAAE;IAAE7B,EAAE,EAAE;EAA6B,CAAC;EACzD8B,qBAAqB,EAAE;IAAE9B,EAAE,EAAE;EAA+B,CAAC;EAC7D+B,YAAY,EAAE;IAAE/B,EAAE,EAAE;EAAsB,CAAC;EAC3CgC,yBAAyB,EAAE;IAAEhC,EAAE,EAAE;EAAmC,CAAC;EACrEiC,WAAW,EAAE;IAAEjC,EAAE,EAAE;EAAqB,CAAC;EACzCkC,mBAAmB,EAAE;IAAElC,EAAE,EAAE;EAA6B,CAAC;EACzDmC,WAAW,EAAE;IAAEnC,EAAE,EAAE;EAAqB,CAAC;EACzCoC,oBAAoB,EAAE;IAAEpC,EAAE,EAAE;EAA8B,CAAC;EAC3DqC,eAAe,EAAE;IAAErC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
@@ -7,7 +7,7 @@ exports.Countdown = void 0;
7
7
  var _ui = require("@mirai/ui");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var style = _interopRequireWildcard(require("./RateDetails.module.css"));
10
+ var style = _interopRequireWildcard(require("./Countdown.module.css"));
11
11
  var _shared__ = require("../../../../../__shared__");
12
12
  var _helpers = require("../../../../../helpers");
13
13
  var _Item = require("../../Item.l10n");
@@ -16,6 +16,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  const Countdown = _ref => {
18
18
  let {
19
+ offer,
19
20
  timestamp
20
21
  } = _ref;
21
22
  const {
@@ -30,7 +31,7 @@ const Countdown = _ref => {
30
31
  value: _helpers.ICON.ALARM
31
32
  }), /*#__PURE__*/_react.default.createElement(_shared__.Countdown, {
32
33
  error: true,
33
- l10n: _Item.L10N.LABEL_COUNTDOWN,
34
+ l10n: !offer ? _Item.L10N.LABEL_COUNTDOWN : _Item.L10N.LABEL_COUNTDOWN_OFFER,
34
35
  small: !isMobile,
35
36
  tiny: isMobile,
36
37
  timestamp: timestamp
@@ -39,6 +40,7 @@ const Countdown = _ref => {
39
40
  exports.Countdown = Countdown;
40
41
  Countdown.displayName = 'Mirai:Core:Rates:Item.RateDetails:Countdown';
41
42
  Countdown.propTypes = {
43
+ offer: _propTypes.default.bool,
42
44
  timestamp: _propTypes.default.number
43
45
  };
44
- //# sourceMappingURL=RateDetails.Countdown.js.map
46
+ //# sourceMappingURL=Countdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Countdown.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_shared__","_helpers","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Countdown","_ref","offer","timestamp","isMobile","useDevice","createElement","View","row","className","centered","Icon","action","error","value","ICON","ALARM","l10n","L10N","LABEL_COUNTDOWN","LABEL_COUNTDOWN_OFFER","small","tiny","exports","displayName","propTypes","PropTypes","bool","number"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Countdown/Countdown.jsx"],"sourcesContent":["import { Icon, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Countdown.module.css';\nimport { Countdown as CountdownBase } from '../../../../../__shared__';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst Countdown = ({ offer, timestamp }) => {\n const { isMobile } = useDevice();\n\n return timestamp ? (\n <View row className={[style.row, style.centered]}>\n <Icon action={isMobile} error value={ICON.ALARM} />\n\n <CountdownBase\n error\n l10n={!offer ? L10N.LABEL_COUNTDOWN : L10N.LABEL_COUNTDOWN_OFFER}\n small={!isMobile}\n tiny={isMobile}\n timestamp={timestamp}\n />\n </View>\n ) : null;\n};\n\nCountdown.displayName = 'Mirai:Core:Rates:Item.RateDetails:Countdown';\n\nCountdown.propTypes = {\n offer: PropTypes.bool,\n timestamp: PropTypes.number,\n};\n\nexport { Countdown };\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,KAAA,GAAAC,uBAAA,CAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAAuC,SAAAS,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,SAAAL,wBAAAK,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;AAEvC,MAAMC,SAAS,GAAGC,IAAA,IAA0B;EAAA,IAAzB;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAAF,IAAA;EACrC,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,OAAOF,SAAS,gBACd/B,MAAA,CAAAY,OAAA,CAAAsB,aAAA,CAACtC,GAAA,CAAAuC,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE,CAACpC,KAAK,CAACmC,GAAG,EAAEnC,KAAK,CAACqC,QAAQ;EAAE,gBAC/CtC,MAAA,CAAAY,OAAA,CAAAsB,aAAA,CAACtC,GAAA,CAAA2C,IAAI;IAACC,MAAM,EAAER,QAAS;IAACS,KAAK;IAACC,KAAK,EAAEC,aAAI,CAACC;EAAM,CAAE,CAAC,eAEnD5C,MAAA,CAAAY,OAAA,CAAAsB,aAAA,CAAC/B,SAAA,CAAAyB,SAAa;IACZa,KAAK;IACLI,IAAI,EAAE,CAACf,KAAK,GAAGgB,UAAI,CAACC,eAAe,GAAGD,UAAI,CAACE,qBAAsB;IACjEC,KAAK,EAAE,CAACjB,QAAS;IACjBkB,IAAI,EAAElB,QAAS;IACfD,SAAS,EAAEA;EAAU,CACtB,CACG,CAAC,GACL,IAAI;AACV,CAAC;AAACoB,OAAA,CAAAvB,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACwB,WAAW,GAAG,6CAA6C;AAErExB,SAAS,CAACyB,SAAS,GAAG;EACpBvB,KAAK,EAAEwB,kBAAS,CAACC,IAAI;EACrBxB,SAAS,EAAEuB,kBAAS,CAACE;AACvB,CAAC"}
@@ -0,0 +1,8 @@
1
+ .row {
2
+ align-items: flex-start;
3
+ gap: var(--mirai-ui-space-XXS);
4
+ }
5
+
6
+ .row.centered {
7
+ align-items: center;
8
+ }
@@ -0,0 +1,3 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item> <Countdown> renders 1`] = `<DocumentFragment />`;
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _ClubRate = require("./ClubRate");
7
- Object.keys(_ClubRate).forEach(function (key) {
6
+ var _Countdown = require("./Countdown");
7
+ Object.keys(_Countdown).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _ClubRate[key]) return;
9
+ if (key in exports && exports[key] === _Countdown[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _ClubRate[key];
13
+ return _Countdown[key];
14
14
  }
15
15
  });
16
16
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Countdown","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Countdown/index.js"],"sourcesContent":["export * from './Countdown';\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -9,10 +9,10 @@ var _ui = require("@mirai/ui");
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _RateDetails = require("./RateDetails.constants");
12
- var _RateDetails2 = require("./RateDetails.Countdown");
13
12
  var style = _interopRequireWildcard(require("./RateDetails.module.css"));
14
13
  var _helpers = require("../../../../../helpers");
15
14
  var _Item = require("../../Item.l10n");
15
+ var _Countdown = require("../Countdown");
16
16
  var _TooltipDates = require("../TooltipDates");
17
17
  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
18
  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; }
@@ -47,9 +47,9 @@ const RateDetails = _ref => {
47
47
  included: included.length > 0,
48
48
  restrictions: restrictions.length > 0
49
49
  };
50
- return has.included || has.restrictions ? /*#__PURE__*/_react.default.createElement(_ui.View, {
50
+ return has.included || has.restrictions || countdown > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
51
51
  className: (0, _ui.styles)(!compacted && style.content, discountPercentage && style.rate)
52
- }, countdown && /*#__PURE__*/_react.default.createElement(_RateDetails2.Countdown, {
52
+ }, countdown && /*#__PURE__*/_react.default.createElement(_Countdown.Countdown, {
53
53
  timestamp: countdown
54
54
  }), has.restrictions && restrictions.map(function () {
55
55
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"RateDetails.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_RateDetails","_RateDetails2","style","_interopRequireWildcard","_helpers","_Item","_TooltipDates","_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","RateDetails","_ref","compacted","discountPercentage","countdown","included","restrictions","selectedBoard","offerDates","onOfferInfo","isMobile","useDevice","translate","useLocale","caption","small","tiny","icon","paragraph","createElement","View","className","styles","content","rate","Countdown","timestamp","map","variableOffer","value","undefined","index","row","Text","warning","TooltipDates","captions","L10N","LABEL_INCLUDED","values","date","parseDate","Fragment","slice","LIMIT_INCLUDED","item","Icon","light","ICON","AMENITY","Action","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","bool","any","number","arrayOf","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/RateDetails/RateDetails.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LIMIT_INCLUDED } from './RateDetails.constants';\nimport { Countdown } from './RateDetails.Countdown';\nimport * as style from './RateDetails.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\nimport { TooltipDates } from '../TooltipDates';\n\nconst RateDetails = ({\n compacted = false,\n discountPercentage,\n countdown,\n included = [],\n restrictions = [],\n selectedBoard: { offerDates = [] } = {},\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const caption = { small: !isMobile, tiny: isMobile };\n const icon = { paragraph: true };\n\n const has = {\n included: included.length > 0,\n restrictions: restrictions.length > 0,\n };\n\n return has.included || has.restrictions ? (\n <View className={styles(!compacted && style.content, discountPercentage && style.rate)}>\n {countdown && <Countdown timestamp={countdown} />}\n\n {has.restrictions &&\n restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\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 {!compacted && has.included && (\n <>\n {included.slice(0, LIMIT_INCLUDED).map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon light value={ICON.AMENITY} {...icon} />\n <Text light {...caption}>\n {item}\n </Text>\n </View>\n ))}\n\n {included.length > LIMIT_INCLUDED && (\n <Action {...caption} onPress={onOfferInfo}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </>\n )}\n </View>\n ) : null;\n};\n\nRateDetails.displayName = 'Mirai:Core:Rates:Item:RateDetails';\n\nRateDetails.propTypes = {\n compacted: PropTypes.bool,\n countdown: PropTypes.any,\n discountPercentage: PropTypes.number,\n included: PropTypes.arrayOf(PropTypes.any),\n restrictions: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onOfferInfo: PropTypes.func,\n};\n\nexport { RateDetails };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RateDetails.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_RateDetails","style","_interopRequireWildcard","_helpers","_Item","_Countdown","_TooltipDates","_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","RateDetails","_ref","compacted","discountPercentage","countdown","included","restrictions","selectedBoard","offerDates","onOfferInfo","isMobile","useDevice","translate","useLocale","caption","small","tiny","icon","paragraph","createElement","View","className","styles","content","rate","Countdown","timestamp","map","variableOffer","value","undefined","index","row","Text","warning","TooltipDates","captions","L10N","LABEL_INCLUDED","values","date","parseDate","Fragment","slice","LIMIT_INCLUDED","item","Icon","light","ICON","AMENITY","Action","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","bool","any","number","arrayOf","shape","func"],"sources":["../../../../../../../src/components/Rates/components/Item/components/RateDetails/RateDetails.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LIMIT_INCLUDED } from './RateDetails.constants';\nimport * as style from './RateDetails.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\nimport { Countdown } from '../Countdown';\nimport { TooltipDates } from '../TooltipDates';\n\nconst RateDetails = ({\n compacted = false,\n discountPercentage,\n countdown,\n included = [],\n restrictions = [],\n selectedBoard: { offerDates = [] } = {},\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const caption = { small: !isMobile, tiny: isMobile };\n const icon = { paragraph: true };\n\n const has = {\n included: included.length > 0,\n restrictions: restrictions.length > 0,\n };\n return has.included || has.restrictions || countdown > 0 ? (\n <View className={styles(!compacted && style.content, discountPercentage && style.rate)}>\n {countdown && <Countdown timestamp={countdown} />}\n\n {has.restrictions &&\n restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\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 {!compacted && has.included && (\n <>\n {included.slice(0, LIMIT_INCLUDED).map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon light value={ICON.AMENITY} {...icon} />\n <Text light {...caption}>\n {item}\n </Text>\n </View>\n ))}\n\n {included.length > LIMIT_INCLUDED && (\n <Action {...caption} onPress={onOfferInfo}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </>\n )}\n </View>\n ) : null;\n};\n\nRateDetails.displayName = 'Mirai:Core:Rates:Item:RateDetails';\n\nRateDetails.propTypes = {\n compacted: PropTypes.bool,\n countdown: PropTypes.any,\n discountPercentage: PropTypes.number,\n included: PropTypes.arrayOf(PropTypes.any),\n restrictions: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onOfferInfo: PropTypes.func,\n};\n\nexport { RateDetails };\n"],"mappings":"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"}
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Slider = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
+ var _services = require("@mirai/services");
9
10
  var _ui = require("@mirai/ui");
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _Slider = require("./Slider.l10n");
13
14
  var style = _interopRequireWildcard(require("./Slider.module.css"));
14
15
  var _helpers = require("../../../../../helpers");
16
+ var _Rates = require("../../../../Rates.constants");
15
17
  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); }
16
18
  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; }
17
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -28,6 +30,7 @@ const Slider = _ref => {
28
30
  urlVideo
29
31
  } = {},
30
32
  metrics = 'RATES:ITEM',
33
+ roomId,
31
34
  width,
32
35
  onCounter,
33
36
  onViewUrl = () => {},
@@ -36,6 +39,18 @@ const Slider = _ref => {
36
39
  const {
37
40
  translate
38
41
  } = (0, _locale.useLocale)();
42
+ const {
43
+ value: {
44
+ finder: {
45
+ place: {
46
+ id: [hotelId] = [],
47
+ isHotel
48
+ } = {}
49
+ } = {},
50
+ hotel = {},
51
+ language
52
+ }
53
+ } = (0, _dataSources.useStore)();
39
54
  const [sliderIndex, setSliderIndex] = (0, _react.useState)(0);
40
55
  const sliderProps = {
41
56
  className: [style.slider, others.className],
@@ -51,6 +66,16 @@ const Slider = _ref => {
51
66
  index
52
67
  });
53
68
  };
69
+
70
+ // ! TODO: This should be part of the service of rates
71
+ const id = isHotel ? hotelId : hotel.id;
72
+ const hasTwin = _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, id);
73
+ const buttonProps = {
74
+ rounded: true,
75
+ squared: true,
76
+ transparent: true,
77
+ className: style.button
78
+ };
54
79
  return /*#__PURE__*/_react.default.createElement(_ui.View, sliderProps, /*#__PURE__*/_react.default.createElement(_ui.Slider, _extends({
55
80
  captions,
56
81
  height,
@@ -59,38 +84,46 @@ const Slider = _ref => {
59
84
  width,
60
85
  onCounter,
61
86
  onChange: handleSliderIndex
62
- }, sliderProps)), children, (url3D || urlVideo) && sliderIndex === 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
87
+ }, sliderProps)), children, (hasTwin || url3D || urlVideo) && sliderIndex === 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
63
88
  row: true,
64
89
  className: style.buttons
65
- }, urlVideo && /*#__PURE__*/_react.default.createElement(_ui.Button, {
66
- rounded: true,
67
- squared: true,
90
+ }, hasTwin && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
91
+ tooltip: translate(_Slider.L10N.LABEL_MIRAI_TWIN),
92
+ onPress: () => {
93
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
94
+ id: 'RATES:ITEM:TWIN'
95
+ });
96
+ onViewUrl({
97
+ title: others.title,
98
+ url: "https://twin.mirai.com/rates/index.html?id=".concat(id, "&room=").concat(roomId, "&lang=").concat(language)
99
+ });
100
+ }
101
+ }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
102
+ headline: true,
103
+ level: 2,
104
+ value: _helpers.ICON.THREE_D,
105
+ className: style.icon
106
+ })), urlVideo && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
68
107
  tooltip: translate(_Slider.L10N.LABEL_VIEW_VIDEO),
69
- transparent: true,
70
108
  onPress: () => onViewUrl({
71
109
  title: translate(_Slider.L10N.LABEL_VIEW_VIDEO),
72
110
  url: urlVideo
73
- }),
74
- className: style.button
75
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
111
+ })
112
+ }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
76
113
  headline: true,
77
114
  level: 2,
78
115
  value: _helpers.ICON.PLAY,
79
116
  className: style.icon
80
- })), url3D && /*#__PURE__*/_react.default.createElement(_ui.Button, {
81
- rounded: true,
82
- squared: true,
117
+ })), url3D && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
83
118
  tooltip: translate(_Slider.L10N.LABEL_3D_VIEW),
84
- transparent: true,
85
119
  onPress: () => onViewUrl({
86
120
  title: translate(_Slider.L10N.LABEL_3D_VIEW),
87
121
  url: url3D
88
- }),
89
- className: style.button
90
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
122
+ })
123
+ }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
91
124
  headline: true,
92
125
  level: 2,
93
- value: _helpers.ICON.THREE_D,
126
+ value: _helpers.ICON.THREE_D_ROTATION,
94
127
  className: style.icon
95
128
  }))));
96
129
  };
@@ -107,6 +140,7 @@ Slider.propTypes = {
107
140
  urlVideo: _propTypes.default.string
108
141
  }),
109
142
  metrics: _propTypes.default.string,
143
+ roomId: _propTypes.default.number,
110
144
  width: _propTypes.default.number,
111
145
  onCounter: _propTypes.default.func,
112
146
  onViewUrl: _propTypes.default.func