@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
@@ -28,8 +28,7 @@ const ERROR = exports.ERROR = {
28
28
  UNKNOWN: 1
29
29
  };
30
30
  const EVENT = exports.EVENT = {
31
- CORE_READY: 'core:ready',
32
- PERFORMANCE_READY: 'performance:ready'
31
+ CORE_READY: 'core:ready'
33
32
  };
34
33
  const TYPE = exports.TYPE = {
35
34
  CHAIN: 'chain',
@@ -1 +1 @@
1
- {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","COOKIE","CART","VALUES","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","EVENT","CORE_READY","PERFORMANCE_READY","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","TYPE_COMMISSION","FINDER_STORAGE_KEY","MIN_STAY_TYPE","CHECK_IN","STAY","PERFORMANCE","ANALYTICS","GOOGLE_ADS","GTM","FACEBOOK","THE_HOTEL_NETWORK","AFFILIRED","BING","COMPARE","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TRACKING","adwordsTracking","affiliredTracking","analyticsTracking","bingTracking","compareTracking","facebookTracking","gtmTracking","miraiTracking","thnTracking"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst COOKIE = {\n CART: 'CART_COOKIE',\n PESTANA: '_jwt',\n VALUES: 'BOOKING_VALUES',\n};\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst EVENT = {\n CORE_READY: 'core:ready',\n PERFORMANCE_READY: 'performance:ready',\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst TYPE_COMMISSION = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst FINDER_STORAGE_KEY = 'MIRAI:FINDER';\n\nconst MIN_STAY_TYPE = {\n CHECK_IN: 1,\n STAY: 2,\n};\n\nconst PERFORMANCE = {\n ANALYTICS: 1,\n GOOGLE_ADS: 2,\n GTM: 3,\n MIRAI: 4,\n FACEBOOK: 5,\n THE_HOTEL_NETWORK: 6,\n AFFILIRED: 7,\n BING: 8,\n COMPARE: 9,\n};\n\nconst TAX_DEFAULT = 1;\n\nconst TAX_FREE = 2;\n\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nconst TRACKING = {\n adwordsTracking: PERFORMANCE.GOOGLE_ADS,\n affiliredTracking: PERFORMANCE.AFFILIRED,\n analyticsTracking: PERFORMANCE.ANALYTICS,\n bingTracking: PERFORMANCE.BING,\n compareTracking: PERFORMANCE.COMPARE,\n facebookTracking: PERFORMANCE.FACEBOOK,\n gtmTracking: PERFORMANCE.GTM,\n miraiTracking: PERFORMANCE.MIRAI,\n thnTracking: PERFORMANCE.THE_HOTEL_NETWORK,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COOKIE,\n TYPE_COMMISSION,\n ERROR,\n EVENT,\n FINDER_STORAGE_KEY,\n MIN_STAY_TYPE,\n PERFORMANCE,\n TAX_DEFAULT,\n TAXES,\n TAXES_TYPE,\n TRACKING,\n TYPE,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","COOKIE","CART","VALUES","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","EVENT","CORE_READY","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","TYPE_COMMISSION","FINDER_STORAGE_KEY","MIN_STAY_TYPE","CHECK_IN","STAY","PERFORMANCE","ANALYTICS","GOOGLE_ADS","GTM","FACEBOOK","THE_HOTEL_NETWORK","AFFILIRED","BING","COMPARE","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TRACKING","adwordsTracking","affiliredTracking","analyticsTracking","bingTracking","compareTracking","facebookTracking","gtmTracking","miraiTracking","thnTracking"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst COOKIE = {\n CART: 'CART_COOKIE',\n PESTANA: '_jwt',\n VALUES: 'BOOKING_VALUES',\n};\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst EVENT = {\n CORE_READY: 'core:ready',\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst TYPE_COMMISSION = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst FINDER_STORAGE_KEY = 'MIRAI:FINDER';\n\nconst MIN_STAY_TYPE = {\n CHECK_IN: 1,\n STAY: 2,\n};\n\nconst PERFORMANCE = {\n ANALYTICS: 1,\n GOOGLE_ADS: 2,\n GTM: 3,\n MIRAI: 4,\n FACEBOOK: 5,\n THE_HOTEL_NETWORK: 6,\n AFFILIRED: 7,\n BING: 8,\n COMPARE: 9,\n};\n\nconst TAX_DEFAULT = 1;\n\nconst TAX_FREE = 2;\n\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nconst TRACKING = {\n adwordsTracking: PERFORMANCE.GOOGLE_ADS,\n affiliredTracking: PERFORMANCE.AFFILIRED,\n analyticsTracking: PERFORMANCE.ANALYTICS,\n bingTracking: PERFORMANCE.BING,\n compareTracking: PERFORMANCE.COMPARE,\n facebookTracking: PERFORMANCE.FACEBOOK,\n gtmTracking: PERFORMANCE.GTM,\n miraiTracking: PERFORMANCE.MIRAI,\n thnTracking: PERFORMANCE.THE_HOTEL_NETWORK,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COOKIE,\n ERROR,\n EVENT,\n FINDER_STORAGE_KEY,\n MIN_STAY_TYPE,\n PERFORMANCE,\n TAX_DEFAULT,\n TAXES_TYPE,\n TAXES,\n TRACKING,\n TYPE_COMMISSION,\n TYPE,\n};\n"],"mappings":"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"}
@@ -18,7 +18,6 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
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; }
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
- let interval;
22
21
  const BannerLoyalty = _ref => {
23
22
  let {
24
23
  clubConditions,
@@ -53,11 +52,6 @@ const BannerLoyalty = _ref => {
53
52
  });
54
53
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
54
  }, [session]);
56
- (0, _react.useEffect)(() => {
57
- clearTimeout(interval);
58
- if (isMobile || !benefits.length || scrollIndex >= benefits.length + 1) return;
59
- interval = setTimeout(() => setScrollIndex(scrollIndex + 1), _BannerLoyalty.BENEFIT_TIMEOUT);
60
- }, [benefits, isMobile, scrollIndex]);
61
55
  const handlePressFilter = () => {
62
56
  _dataSources.Event.publish(_helpers.EVENT.RATES_FILTER_CLUB, true);
63
57
  _dataSources.Event.publish(_helpers.EVENT.METRICS, {
@@ -73,6 +67,12 @@ const BannerLoyalty = _ref => {
73
67
  id: 'BANNER_LOYALTY:LOGIN'
74
68
  });
75
69
  };
70
+ const handlePressBenefit = index => {
71
+ setScrollIndex(index);
72
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
73
+ id: 'BANNER_LOYALTY:BUTTON_BENEFITS'
74
+ });
75
+ };
76
76
  const locale = (0, _helpers.getNormalizedLocale)(stateLocale);
77
77
  const actionProps = {
78
78
  action: !isMobile,
@@ -80,6 +80,12 @@ const BannerLoyalty = _ref => {
80
80
  small: isMobile,
81
81
  className: style.textInline
82
82
  };
83
+ const buttonProps = {
84
+ secondary: true,
85
+ squared: true,
86
+ rounded: true
87
+ };
88
+ const lastBenefit = scrollIndex === benefits.length - 4;
83
89
  return skeleton && !session ? /*#__PURE__*/_react.default.createElement(_BannerLoyalty3.default, null) : !session && title && benefits.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
84
90
  row: !isMobile,
85
91
  testId: others.testId,
@@ -96,8 +102,16 @@ const BannerLoyalty = _ref => {
96
102
  action: isMobile,
97
103
  className: style.text
98
104
  }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE])), /*#__PURE__*/_react.default.createElement(_ui.View, {
99
- wide: true
100
- }, /*#__PURE__*/_react.default.createElement(isMobile ? _ui.View : _ui.ScrollView, {
105
+ wide: true,
106
+ style: {
107
+ position: 'relative'
108
+ }
109
+ }, !isMobile && scrollIndex !== 0 && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
110
+ className: [style.button, style.buttonLeft],
111
+ onPress: () => handlePressBenefit(scrollIndex - 1)
112
+ }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
113
+ value: _helpers.ICON.LEFT
114
+ })), /*#__PURE__*/_react.default.createElement(isMobile ? _ui.View : _ui.ScrollView, {
101
115
  ...(!isMobile ? {
102
116
  horizontal: !isMobile,
103
117
  scrollTo: scrollIndex * _BannerLoyalty.BENEFIT_MIN_WIDTH
@@ -122,6 +136,11 @@ const BannerLoyalty = _ref => {
122
136
  small: isMobile,
123
137
  className: style.text
124
138
  }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE]));
139
+ })), !isMobile && benefits.length > 4 && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
140
+ className: [style.button, style.buttonRight],
141
+ onPress: () => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)
142
+ }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
143
+ value: lastBenefit ? _helpers.ICON.REPLAY : _helpers.ICON.RIGHT
125
144
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
126
145
  light: true,
127
146
  action: !isMobile,
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","interval","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","clearTimeout","setTimeout","BENEFIT_TIMEOUT","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","getNormalizedLocale","actionProps","action","bold","small","className","textInline","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","index","Icon","accent","ICON","AMENITY","light","Fragment","Action","onPress","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH, BENEFIT_TIMEOUT } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nlet interval;\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useEffect(() => {\n clearTimeout(interval);\n if (isMobile || !benefits.length || scrollIndex >= benefits.length + 1) return;\n\n interval = setTimeout(() => setScrollIndex(scrollIndex + 1), BENEFIT_TIMEOUT);\n }, [benefits, isMobile, scrollIndex]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={style.text}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View wide>\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","handlePressBenefit","index","getNormalizedLocale","actionProps","action","bold","small","className","textInline","buttonProps","secondary","squared","rounded","lastBenefit","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","position","Button","button","buttonLeft","onPress","Icon","ICON","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","accent","AMENITY","buttonRight","REPLAY","RIGHT","light","Fragment","Action","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n const buttonProps = { secondary: true, squared: true, rounded: true };\n\n const lastBenefit = scrollIndex === benefits.length - 4;\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={style.text}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View wide style={{ position: 'relative' }}>\n {!isMobile && scrollIndex !== 0 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonLeft]}\n onPress={() => handlePressBenefit(scrollIndex - 1)}\n >\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonRight]}\n onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}\n >\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ const L10N = exports.L10N = {
21
21
  id: 'user.label.login_now'
22
22
  },
23
23
  LABEL_UNLOCK_EXCLUSIVE_MEMBER: {
24
- id: 'user.label.unlock_exclusive_member'
24
+ id: 'user.label.unlock_exclusive_member_benefits'
25
25
  }
26
26
  };
27
27
  //# sourceMappingURL=BannerLoyalty.l10n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.l10n.js","names":["L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_LOGIN","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","LABEL_LOGIN_NOW","LABEL_UNLOCK_EXCLUSIVE_MEMBER"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_LOGIN_NOW: { id: 'user.label.login_now' },\n LABEL_UNLOCK_EXCLUSIVE_MEMBER: { id: 'user.label.unlock_exclusive_member' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,YAAY,EAAE;IAAED,EAAE,EAAE;EAAsB,CAAC;EAC3CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,qBAAqB,EAAE;IAAEH,EAAE,EAAE;EAA+B,CAAC;EAC7DI,eAAe,EAAE;IAAEJ,EAAE,EAAE;EAAuB,CAAC;EAC/CK,6BAA6B,EAAE;IAAEL,EAAE,EAAE;EAAqC;AAC5E,CAAC"}
1
+ {"version":3,"file":"BannerLoyalty.l10n.js","names":["L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_LOGIN","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","LABEL_LOGIN_NOW","LABEL_UNLOCK_EXCLUSIVE_MEMBER"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_LOGIN_NOW: { id: 'user.label.login_now' },\n LABEL_UNLOCK_EXCLUSIVE_MEMBER: { id: 'user.label.unlock_exclusive_member_benefits' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,YAAY,EAAE;IAAED,EAAE,EAAE;EAAsB,CAAC;EAC3CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,qBAAqB,EAAE;IAAEH,EAAE,EAAE;EAA+B,CAAC;EAC7DI,eAAe,EAAE;IAAEJ,EAAE,EAAE;EAAuB,CAAC;EAC/CK,6BAA6B,EAAE;IAAEL,EAAE,EAAE;EAA8C;AACrF,CAAC"}
@@ -27,6 +27,19 @@
27
27
  display: inline;
28
28
  }
29
29
 
30
+ .button {
31
+ position: absolute;
32
+ top: var(--mirai-ui-space-XXL);
33
+ }
34
+
35
+ .buttonLeft {
36
+ left: var(--mirai-ui-space-M);
37
+ }
38
+
39
+ .buttonRight {
40
+ right: var(--mirai-ui-space-M);
41
+ }
42
+
30
43
  /* S */
31
44
  @media only screen and (max-width: 480px) {
32
45
  .container > * {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VERBOSE_DATE_FORMAT = exports.NAME = exports.INTENT = exports.EVENT = exports.DELAY_RESPONSE = void 0;
6
+ exports.VERBOSE_DATE_FORMAT = exports.NAME = exports.INTENT = exports.EVENT = exports.DELAY_RESPONSE = exports.ACTION = void 0;
7
7
  const DELAY_RESPONSE = exports.DELAY_RESPONSE = 500;
8
8
  const EVENT = exports.EVENT = {
9
9
  INPUT_COMPONENT: 'EVENT_INPUT_COMPONENT'
@@ -19,6 +19,9 @@ const INTENT = exports.INTENT = {
19
19
  GREETINGS: 'INTENT_GREETINGS',
20
20
  FAREWELLS: 'INTENT_FAREWELLS'
21
21
  };
22
+ const ACTION = exports.ACTION = {
23
+ ACTION_LOGIN: 'ACTION_LOGIN'
24
+ };
22
25
  const NAME = exports.NAME = 'Lisa';
23
26
  const VERBOSE_DATE_FORMAT = exports.VERBOSE_DATE_FORMAT = {
24
27
  weekday: 'short',
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.constants.js","names":["DELAY_RESPONSE","exports","EVENT","INPUT_COMPONENT","INTENT","BOOK","BOOKING_CANCEL","BOOKING_QUERY","BOOKING_VIEW","BOOKING_SEND","OFFERS","HOTEL_INFO","GREETINGS","FAREWELLS","NAME","VERBOSE_DATE_FORMAT","weekday","month","day"],"sources":["../../../src/components/Chat/Chat.constants.js"],"sourcesContent":["const DELAY_RESPONSE = 500;\n\nconst EVENT = {\n INPUT_COMPONENT: 'EVENT_INPUT_COMPONENT',\n};\n\nconst INTENT = {\n BOOK: 'INTENT_BOOK',\n BOOKING_CANCEL: 'INTENT_BOOKING_CANCEL',\n BOOKING_QUERY: 'INTENT_BOOKING_QUERY',\n BOOKING_VIEW: 'INTENT_BOOKING_VIEW',\n BOOKING_SEND: 'INTENT_BOOKING_SEND',\n OFFERS: 'INTENT_OFFERS',\n HOTEL_INFO: 'INTENT_HOTEL_INFO',\n GREETINGS: 'INTENT_GREETINGS',\n FAREWELLS: 'INTENT_FAREWELLS',\n};\n\nconst NAME = 'Lisa';\n\nconst VERBOSE_DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nexport { DELAY_RESPONSE, EVENT, INTENT, NAME, VERBOSE_DATE_FORMAT };\n"],"mappings":";;;;;;AAAA,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,GAAG;AAE1B,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,MAAM,GAAAH,OAAA,CAAAG,MAAA,GAAG;EACbC,IAAI,EAAE,aAAa;EACnBC,cAAc,EAAE,uBAAuB;EACvCC,aAAa,EAAE,sBAAsB;EACrCC,YAAY,EAAE,qBAAqB;EACnCC,YAAY,EAAE,qBAAqB;EACnCC,MAAM,EAAE,eAAe;EACvBC,UAAU,EAAE,mBAAmB;EAC/BC,SAAS,EAAE,kBAAkB;EAC7BC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,IAAI,GAAAb,OAAA,CAAAa,IAAA,GAAG,MAAM;AAEnB,MAAMC,mBAAmB,GAAAd,OAAA,CAAAc,mBAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC"}
1
+ {"version":3,"file":"Chat.constants.js","names":["DELAY_RESPONSE","exports","EVENT","INPUT_COMPONENT","INTENT","BOOK","BOOKING_CANCEL","BOOKING_QUERY","BOOKING_VIEW","BOOKING_SEND","OFFERS","HOTEL_INFO","GREETINGS","FAREWELLS","ACTION","ACTION_LOGIN","NAME","VERBOSE_DATE_FORMAT","weekday","month","day"],"sources":["../../../src/components/Chat/Chat.constants.js"],"sourcesContent":["const DELAY_RESPONSE = 500;\n\nconst EVENT = {\n INPUT_COMPONENT: 'EVENT_INPUT_COMPONENT',\n};\n\nconst INTENT = {\n BOOK: 'INTENT_BOOK',\n BOOKING_CANCEL: 'INTENT_BOOKING_CANCEL',\n BOOKING_QUERY: 'INTENT_BOOKING_QUERY',\n BOOKING_VIEW: 'INTENT_BOOKING_VIEW',\n BOOKING_SEND: 'INTENT_BOOKING_SEND',\n OFFERS: 'INTENT_OFFERS',\n HOTEL_INFO: 'INTENT_HOTEL_INFO',\n GREETINGS: 'INTENT_GREETINGS',\n FAREWELLS: 'INTENT_FAREWELLS',\n};\n\nconst ACTION = {\n ACTION_LOGIN: 'ACTION_LOGIN',\n};\n\nconst NAME = 'Lisa';\n\nconst VERBOSE_DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nexport { ACTION, DELAY_RESPONSE, EVENT, INTENT, NAME, VERBOSE_DATE_FORMAT };\n"],"mappings":";;;;;;AAAA,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,GAAG;AAE1B,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,MAAM,GAAAH,OAAA,CAAAG,MAAA,GAAG;EACbC,IAAI,EAAE,aAAa;EACnBC,cAAc,EAAE,uBAAuB;EACvCC,aAAa,EAAE,sBAAsB;EACrCC,YAAY,EAAE,qBAAqB;EACnCC,YAAY,EAAE,qBAAqB;EACnCC,MAAM,EAAE,eAAe;EACvBC,UAAU,EAAE,mBAAmB;EAC/BC,SAAS,EAAE,kBAAkB;EAC7BC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,MAAM,GAAAb,OAAA,CAAAa,MAAA,GAAG;EACbC,YAAY,EAAE;AAChB,CAAC;AAED,MAAMC,IAAI,GAAAf,OAAA,CAAAe,IAAA,GAAG,MAAM;AAEnB,MAAMC,mBAAmB,GAAAhB,OAAA,CAAAgB,mBAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC"}
@@ -72,10 +72,6 @@ const Chat = _ref => {
72
72
  session
73
73
  }).catch(handleError);
74
74
  if (response) addMessage(response, messages);
75
- // if (response) {
76
- // setVisible(true);
77
- // handleInput('quiero hacer una reserva');
78
- // }
79
75
  setBusy(false);
80
76
  })();
81
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -131,6 +127,9 @@ const Chat = _ref => {
131
127
  form,
132
128
  intent
133
129
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
130
+ if (intent === _Chat.ACTION.ACTION_LOGIN) return _dataSources.Event.publish(_helpers.EVENT.LOGIN, {
131
+ visible: true
132
+ });
134
133
  setBusy(true);
135
134
  setTimeout(async () => {
136
135
  const response = await _services.ServiceLisa.action({
@@ -180,7 +179,7 @@ const Chat = _ref => {
180
179
  className: (0, _ui.styles)(style.container, others.className)
181
180
  } : {
182
181
  ...others,
183
- className: (0, _ui.styles)(style.container, visible && style.visible, others.className),
182
+ className: (0, _ui.styles)(style.container, visible && !hide && style.visible, others.className),
184
183
  'aria-hidden': visible ? 'false' : 'true'
185
184
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
186
185
  row: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","others","mobile","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","hide","setHide","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","status","setInterval","Date","getTime","storeContext","commons","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","publish","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceLisa } from '@mirai/services';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME, ...others }) => {\n const { mobile, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [hide, setHide] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n // if (response) {\n // setVisible(true);\n // handleInput('quiero hacer una reserva');\n // }\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n const commons = { mobile, session };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, ...commons }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n ...commons,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, (hide || visible) && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","others","mobile","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","hide","setHide","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","status","setInterval","Date","getTime","storeContext","commons","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","ACTION","ACTION_LOGIN","publish","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceLisa } from '@mirai/services';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME, ...others }) => {\n const { mobile, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [hide, setHide] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n const commons = { mobile, session };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, ...commons }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === ACTION.ACTION_LOGIN) return Event.publish(EVENT.LOGIN, { visible: true });\n\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n ...commons,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && !hide && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, (hide || visible) && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
 
24
24
  /* <Chat> */
25
25
  --mirai-chat-base: var(--mirai-ui-base);
26
- --mirai-chat-base-opacity: rgba(255, 255, 255, 0.66);
26
+ --mirai-chat-base-opacity: rgba(255, 255, 255, 0.8);
27
27
  --mirai-chat-box-shadow: 0 0 var(--mirai-ui-space-S) rgba(0, 0, 0, 0.1);
28
28
  --mirai-chat-height: 606px;
29
29
  --mirai-chat-layer: var(--mirai-ui-layer-XL);
@@ -2,6 +2,9 @@
2
2
 
3
3
  exports[`<Chat>.constants should match the snapshot for constants 1`] = `
4
4
  Object {
5
+ "ACTION": Object {
6
+ "ACTION_LOGIN": "ACTION_LOGIN",
7
+ },
5
8
  "DELAY_RESPONSE": 500,
6
9
  "EVENT": Object {
7
10
  "INPUT_COMPONENT": "EVENT_INPUT_COMPONENT",
@@ -6,13 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.INTENT_UNKNOWN = exports.INTENT = void 0;
7
7
  var _intents = require("./intents");
8
8
  const INTENT = exports.INTENT = {
9
- INTENT_BOOK: _intents.Book,
10
- INTENT_BOOKING_CANCEL: undefined,
11
- INTENT_BOOKING_QUERY: _intents.BookingQuery,
12
- INTENT_OFFERS: _intents.Offers,
13
- INTENT_HOTEL_INFO: _intents.HotelInfo
14
- // INTENT_GREETINGS: undefined,
15
- // INTENT_FAREWELLS: undefined,
9
+ BOOKING_CREATE: _intents.Book,
10
+ BOOKING_QUERY: _intents.BookingQuery,
11
+ HOTEL_INFO: _intents.HotelInfo,
12
+ OFFERS: _intents.Offers
16
13
  };
17
14
  const INTENT_UNKNOWN = exports.INTENT_UNKNOWN = _intents.Unknown;
18
15
  //# sourceMappingURL=Message.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.constants.js","names":["_intents","require","INTENT","exports","INTENT_BOOK","Book","INTENT_BOOKING_CANCEL","undefined","INTENT_BOOKING_QUERY","BookingQuery","INTENT_OFFERS","Offers","INTENT_HOTEL_INFO","HotelInfo","INTENT_UNKNOWN","Unknown"],"sources":["../../../../../src/components/Chat/components/Message/Message.constants.js"],"sourcesContent":["import { Book, BookingQuery, HotelInfo, Offers, Unknown } from './intents';\n\nconst INTENT = {\n INTENT_BOOK: Book,\n INTENT_BOOKING_CANCEL: undefined,\n INTENT_BOOKING_QUERY: BookingQuery,\n INTENT_OFFERS: Offers,\n INTENT_HOTEL_INFO: HotelInfo,\n // INTENT_GREETINGS: undefined,\n // INTENT_FAREWELLS: undefined,\n};\n\nconst INTENT_UNKNOWN = Unknown;\n\nexport { INTENT, INTENT_UNKNOWN };\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACbE,WAAW,EAAEC,aAAI;EACjBC,qBAAqB,EAAEC,SAAS;EAChCC,oBAAoB,EAAEC,qBAAY;EAClCC,aAAa,EAAEC,eAAM;EACrBC,iBAAiB,EAAEC;EACnB;EACA;AACF,CAAC;AAED,MAAMC,cAAc,GAAAX,OAAA,CAAAW,cAAA,GAAGC,gBAAO"}
1
+ {"version":3,"file":"Message.constants.js","names":["_intents","require","INTENT","exports","BOOKING_CREATE","Book","BOOKING_QUERY","BookingQuery","HOTEL_INFO","HotelInfo","OFFERS","Offers","INTENT_UNKNOWN","Unknown"],"sources":["../../../../../src/components/Chat/components/Message/Message.constants.js"],"sourcesContent":["import { Book, BookingQuery, HotelInfo, Offers, Unknown } from './intents';\n\nconst INTENT = {\n BOOKING_CREATE: Book,\n BOOKING_QUERY: BookingQuery,\n HOTEL_INFO: HotelInfo,\n OFFERS: Offers,\n};\n\nconst INTENT_UNKNOWN = Unknown;\n\nexport { INTENT, INTENT_UNKNOWN };\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACbE,cAAc,EAAEC,aAAI;EACpBC,aAAa,EAAEC,qBAAY;EAC3BC,UAAU,EAAEC,kBAAS;EACrBC,MAAM,EAAEC;AACV,CAAC;AAED,MAAMC,cAAc,GAAAT,OAAA,CAAAS,cAAA,GAAGC,gBAAO"}
@@ -16,7 +16,6 @@ var _Finder3 = require("./Finder.l10n");
16
16
  var style = _interopRequireWildcard(require("./Finder.module.css"));
17
17
  var _helpers = require("./helpers");
18
18
  var _getAvailableWidth = require("./helpers/getAvailableWidth");
19
- var _Core = require("../../Core.constants");
20
19
  var _helpers2 = require("../../helpers");
21
20
  var _prepareRoom = require("../../helpers/prepareRoom");
22
21
  var _shared__ = require("../__shared__");
@@ -134,17 +133,11 @@ const Finder = _ref => {
134
133
  setUnavailability(calendar);
135
134
  if (focus) setFocus(focus);
136
135
  };
137
- const handlePerformanceReady = () => {
138
- !onSubmit && _dataSources.Event.publish(_helpers3.EVENT.FINDER_READY, {
139
- event: _helpers3.EVENT.FINDER_READY
140
- });
141
- };
142
- _dataSources.Event.subscribe(_Core.EVENT.PERFORMANCE_READY, handlePerformanceReady);
136
+ !onSubmit && !skeleton && _dataSources.Event.publish(_helpers3.EVENT.FINDER_READY, {
137
+ event: _helpers3.EVENT.FINDER_READY
138
+ });
143
139
  _dataSources.Event.subscribe(_helpers3.EVENT.FINDER, handleFinder);
144
- return () => {
145
- _dataSources.Event.unsubscribe(_Core.EVENT.PERFORMANCE_READY, handlePerformanceReady);
146
- _dataSources.Event.unsubscribe(_helpers3.EVENT.FINDER, handleFinder);
147
- };
140
+ return () => _dataSources.Event.unsubscribe(_helpers3.EVENT.FINDER, handleFinder);
148
141
  // eslint-disable-next-line react-hooks/exhaustive-deps
149
142
  }, []);
150
143
 
@@ -204,10 +197,12 @@ const Finder = _ref => {
204
197
  assistant();
205
198
  };
206
199
  const handleSubmit = function () {
200
+ var _value$calendar;
207
201
  let {
208
202
  nextValue = value
209
203
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
210
204
  if (dataSource.places && value.place === undefined) return setFocus(_Finder2.VIEW.PLACE);
205
+ if (((_value$calendar = value.calendar) === null || _value$calendar === void 0 ? void 0 : _value$calendar.length) !== 2) return setFocus(_Finder2.VIEW.CALENDAR);
211
206
  const [firstError] = Object.keys(error).filter(key => !!error[key]);
212
207
  if (firstError) return setFocus(firstError);
213
208
  setWarning(false);