@mirai/core 0.3.395 → 0.3.396

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 (109) hide show
  1. package/build/components/Chat/Chat.js +1 -1
  2. package/build/components/Chat/Chat.js.map +1 -1
  3. package/build/components/Rates/Rates.js +2 -3
  4. package/build/components/Rates/Rates.js.map +1 -1
  5. package/build/components/Rates/components/ModalExtras/ModalExtras.constants.js +17 -0
  6. package/build/components/Rates/components/ModalExtras/ModalExtras.constants.js.map +1 -0
  7. package/build/components/Rates/components/ModalExtras/helpers/getCaption.js +10 -10
  8. package/build/components/Rates/components/ModalExtras/helpers/getCaption.js.map +1 -1
  9. package/build/components/Session/Session.Account.js +3 -5
  10. package/build/components/Session/Session.Account.js.map +1 -1
  11. package/build/components/Session/Session.module.css +6 -6
  12. package/build/helpers/fetchConfig.js +1 -1
  13. package/build/helpers/fetchConfig.js.map +1 -1
  14. package/build/helpers/getClubUrl.js +1 -1
  15. package/build/helpers/getClubUrl.js.map +1 -1
  16. package/package.json +1 -2
  17. package/build/components/Finder/helpers/__tests__/__mocks__/chain.json +0 -1113
  18. package/build/components/Finder/helpers/__tests__/__mocks__/hotel.json +0 -199
  19. package/build/services/Club/__tests__/__mocks__/get.json +0 -66
  20. package/build/services/Club/constants.js +0 -10
  21. package/build/services/Club/constants.js.map +0 -1
  22. package/build/services/Club/get.js +0 -35
  23. package/build/services/Club/get.js.map +0 -1
  24. package/build/services/Club/index.js +0 -11
  25. package/build/services/Club/index.js.map +0 -1
  26. package/build/services/Engine/__tests__/__mocks__/chain.json +0 -2695
  27. package/build/services/Engine/__tests__/__mocks__/hotel.json +0 -184
  28. package/build/services/Engine/constants.js +0 -10
  29. package/build/services/Engine/constants.js.map +0 -1
  30. package/build/services/Engine/get.js +0 -31
  31. package/build/services/Engine/get.js.map +0 -1
  32. package/build/services/Engine/index.js +0 -11
  33. package/build/services/Engine/index.js.map +0 -1
  34. package/build/services/Lisa/action.js +0 -28
  35. package/build/services/Lisa/action.js.map +0 -1
  36. package/build/services/Lisa/index.js +0 -17
  37. package/build/services/Lisa/index.js.map +0 -1
  38. package/build/services/Lisa/message.js +0 -26
  39. package/build/services/Lisa/message.js.map +0 -1
  40. package/build/services/Lisa/status.js +0 -13
  41. package/build/services/Lisa/status.js.map +0 -1
  42. package/build/services/Lisa/welcome.js +0 -25
  43. package/build/services/Lisa/welcome.js.map +0 -1
  44. package/build/services/Rates/__tests__/__mocks__/extras-success-all.json +0 -264
  45. package/build/services/Rates/__tests__/__mocks__/extras-success.json +0 -1000
  46. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +0 -2958
  47. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +0 -870
  48. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +0 -2250
  49. package/build/services/Rates/__tests__/__mocks__/rates-response.json +0 -500
  50. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +0 -32481
  51. package/build/services/Rates/__tests__/__mocks__/rates-success-no-taxes-no-local.json +0 -6674
  52. package/build/services/Rates/__tests__/__mocks__/rates-success-no-taxes.json +0 -16508
  53. package/build/services/Rates/__tests__/__mocks__/rates-success.json +0 -5648
  54. package/build/services/Rates/constants.js +0 -121
  55. package/build/services/Rates/constants.js.map +0 -1
  56. package/build/services/Rates/extras.js +0 -14
  57. package/build/services/Rates/extras.js.map +0 -1
  58. package/build/services/Rates/extrasParsed.js +0 -197
  59. package/build/services/Rates/extrasParsed.js.map +0 -1
  60. package/build/services/Rates/get.js +0 -34
  61. package/build/services/Rates/get.js.map +0 -1
  62. package/build/services/Rates/helpers/compareSuggestions.js +0 -40
  63. package/build/services/Rates/helpers/compareSuggestions.js.map +0 -1
  64. package/build/services/Rates/helpers/getCalendarSuggestions.js +0 -72
  65. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +0 -1
  66. package/build/services/Rates/helpers/getDisabledDates.js +0 -35
  67. package/build/services/Rates/helpers/getDisabledDates.js.map +0 -1
  68. package/build/services/Rates/helpers/getIncrements.js +0 -69
  69. package/build/services/Rates/helpers/getIncrements.js.map +0 -1
  70. package/build/services/Rates/helpers/getItems.js +0 -127
  71. package/build/services/Rates/helpers/getItems.js.map +0 -1
  72. package/build/services/Rates/helpers/getLanguage.js +0 -9
  73. package/build/services/Rates/helpers/getLanguage.js.map +0 -1
  74. package/build/services/Rates/helpers/getMinStayDates.js +0 -36
  75. package/build/services/Rates/helpers/getMinStayDates.js.map +0 -1
  76. package/build/services/Rates/helpers/getOccupationSuggestions.js +0 -198
  77. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +0 -1
  78. package/build/services/Rates/helpers/getPrice.js +0 -22
  79. package/build/services/Rates/helpers/getPrice.js.map +0 -1
  80. package/build/services/Rates/helpers/getRooms.js +0 -65
  81. package/build/services/Rates/helpers/getRooms.js.map +0 -1
  82. package/build/services/Rates/helpers/getTaxesType.js +0 -26
  83. package/build/services/Rates/helpers/getTaxesType.js.map +0 -1
  84. package/build/services/Rates/helpers/index.js +0 -138
  85. package/build/services/Rates/helpers/index.js.map +0 -1
  86. package/build/services/Rates/helpers/normalizePrice.js +0 -15
  87. package/build/services/Rates/helpers/normalizePrice.js.map +0 -1
  88. package/build/services/Rates/helpers/parseAmenities.js +0 -87
  89. package/build/services/Rates/helpers/parseAmenities.js.map +0 -1
  90. package/build/services/Rates/helpers/parseDiscount.js +0 -48
  91. package/build/services/Rates/helpers/parseDiscount.js.map +0 -1
  92. package/build/services/Rates/helpers/parseExternalToken.js +0 -24
  93. package/build/services/Rates/helpers/parseExternalToken.js.map +0 -1
  94. package/build/services/Rates/helpers/parseHotelDiscount.js +0 -29
  95. package/build/services/Rates/helpers/parseHotelDiscount.js.map +0 -1
  96. package/build/services/Rates/helpers/parseItem.js +0 -216
  97. package/build/services/Rates/helpers/parseItem.js.map +0 -1
  98. package/build/services/Rates/helpers/parseTracking.js +0 -140
  99. package/build/services/Rates/helpers/parseTracking.js.map +0 -1
  100. package/build/services/Rates/helpers/parseUnavailability.js +0 -117
  101. package/build/services/Rates/helpers/parseUnavailability.js.map +0 -1
  102. package/build/services/Rates/hotels.js +0 -138
  103. package/build/services/Rates/hotels.js.map +0 -1
  104. package/build/services/Rates/index.js +0 -13
  105. package/build/services/Rates/index.js.map +0 -1
  106. package/build/services/Rates/rates.js +0 -141
  107. package/build/services/Rates/rates.js.map +0 -1
  108. package/build/services/index.js +0 -50
  109. package/build/services/index.js.map +0 -1
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Chat = 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"));
@@ -13,7 +14,6 @@ var _Chat = require("./Chat.constants");
13
14
  var _Chat2 = require("./Chat.l10n");
14
15
  var style = _interopRequireWildcard(require("./Chat.module.css"));
15
16
  var _components = require("./components");
16
- var _services = require("../../services");
17
17
  var _helpers = require("../helpers");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
19
  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; }
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_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","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","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","container","styles","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 { 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 { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { 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 // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\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\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, session }).catch(handleError);\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 session,\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 ? { className: style.container, visible }\n : {\n className: styles(style.container, visible && style.visible),\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","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","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","container","styles","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 }) => {\n const { 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 // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\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\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, session }).catch(handleError);\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 session,\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 ? { className: style.container, visible }\n : {\n className: styles(style.container, visible && style.visible),\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,6 @@ var _Rates7 = _interopRequireDefault(require("./Rates.Skeleton"));
23
23
  var _Rates8 = require("./Rates.Unavailability");
24
24
  var _Core = require("../../Core.constants");
25
25
  var _helpers2 = require("../../helpers");
26
- var _services2 = require("../../services");
27
26
  var _shared__ = require("../__shared__");
28
27
  var _Finder = require("../Finder");
29
28
  var _Header = require("../Header");
@@ -215,7 +214,7 @@ const Rates = _ref => {
215
214
  strictSearch
216
215
  };
217
216
  if (room !== undefined) params.parties = (0, _helpers3.parseToParties)([nextOccupation[room || 0]]);
218
- const nextDataSource = await _services2.ServiceRates.get(params).catch(setResponseError);
217
+ const nextDataSource = await _services.ServiceRates.get(params).catch(setResponseError);
219
218
  if (nextDataSource !== null && nextDataSource !== void 0 && nextDataSource.externalSignout) return (0, _helpers.signout)({
220
219
  club,
221
220
  language
@@ -302,7 +301,7 @@ const Rates = _ref => {
302
301
  }
303
302
  const {
304
303
  extras = []
305
- } = (await _services2.ServiceRates.extras({
304
+ } = (await _services.ServiceRates.extras({
306
305
  ...(0, _helpers.getCheckoutParams)({
307
306
  cart,
308
307
  clubDiscount,
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_select","_dataSource$hotels","_dataSource$items","skeleton","others","isDesktop","isMobile","mobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cancellationInfo","setCancellationInfo","useState","cart","setCart","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","filters","setFilters","metaBoard","setMetaBoard","itemInfo","setItemInfo","itemUrl","setItemUrl","itemPreview","setItemPreview","login","setLogin","mapView","setMapView","offerInfo","setOfferInfo","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","Event","subscribe","EVENT","RATES_FILTER_CLUB","handleClubDiscount","unsubscribe","getMetaBoard","then","board","publish","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","tracking","trackDataSource","device","fetchUrlParams","location","search","fetch","nextOccupation","nextPromocode","promocode","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","roomId","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","checkNotifications","debounce","next","handleFilters","nextClubDiscount","nextStrictSearch","handleFinder","values","handleSelect","nextCart","scrollToRoom","trackSelectItem","handleSubmit","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","filter","isClubRate","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","handleCloseLogin","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","dateDiff","days","response","roomSelectorProps","onPress","showPreviewPrice","features","getFeatures","createElement","Fragment","Header","active","name","SHOW_NAME_IN_HEADER","View","ref","row","className","styles","blur","sticky","backgroundColor","opacity","Finder","compacted","icon","storage","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onFilters","onMapView","onSelect","Cards","select","items","_ref2","index","item","Item","filterItem","taxesType","concat","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onPreview","onViewUrl","info","hotels","CardHotel","Unavailability","Notification","error","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalExtras","onCancel","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n ClubRate,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n isClubRate,\n select,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES, NOTIFICATION, UTM_SOURCE_NAME } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, mobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cancellationInfo, setCancellationInfo] = useState();\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filters, setFilters] = useState({});\n const [metaBoard, setMetaBoard] = useState();\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [itemPreview, setItemPreview] = useState();\n const [login, setLogin] = useState(false);\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n Event.subscribe(EVENT.RATES_FILTER_CLUB, handleClubDiscount);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, handleClubDiscount);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [login]);\n\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n if (!board) return;\n\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n if (clubDiscount && loginShown) loginShown = false;\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n trackDataSource({\n ...(dataSource || responseError),\n device,\n occupation,\n place,\n urlParams: fetchUrlParams(location.search),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation, nextPromocode = finder.promocode) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n // ! TODO: [MF-2005] Use helper fetchRates() within <Rates>\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && room === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleFilters = (next = {}) => {\n const { clubDiscount: nextClubDiscount, strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (clubDiscount !== nextClubDiscount) setClubDiscount(nextClubDiscount);\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setItemPreview(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation, values.promocode);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n board,\n cart: nextCart,\n device,\n occupation,\n urlParams: fetchUrlParams(location.search),\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (\n !isPestana &&\n clubDiscount &&\n !sessionProp &&\n !loginShown &&\n cart.filter((board) => isClubRate({ board, dataSource })).length > 0\n ) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n });\n };\n\n const handleCloseLogin = () => {\n loginShown = false;\n multiRoom ? setLogin(false) : handleSelect();\n };\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const { showPreviewPrice, ...features } = getFeatures(hotel.id, urlParams, { isDesktop, isMobile }, multiRoom);\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n\n return (\n <>\n <Header currency login={club.active} name={ServiceFeatures.get(FEATURES.SHOW_NAME_IN_HEADER, hotel.id)} />\n\n <View\n ref={refRoomSelector}\n row={isMobile}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder compacted={!isDesktop} icon storage={false} onSubmit={handleFinder} />\n\n {isMobile && (response || (multiRoom && !responseError)) && (\n <Filters {...dataSource} onSubmit={handleFilters} />\n )}\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, multiRoom, onFilters: handleFilters, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters)?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onPreview={showPreviewPrice && !multiRoom ? setItemPreview : undefined}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} nights={nights} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ? (\n <Unavailability {...responseError} nights={nights} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [itemPreview], dataSource, extras, login, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : handleSelect(itemPreview))}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={handleCloseLogin}\n onSuccess={() => handleSubmit(cart, true)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_select","_dataSource$hotels","_dataSource$items","skeleton","others","isDesktop","isMobile","mobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cancellationInfo","setCancellationInfo","useState","cart","setCart","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","filters","setFilters","metaBoard","setMetaBoard","itemInfo","setItemInfo","itemUrl","setItemUrl","itemPreview","setItemPreview","login","setLogin","mapView","setMapView","offerInfo","setOfferInfo","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","Event","subscribe","EVENT","RATES_FILTER_CLUB","handleClubDiscount","unsubscribe","getMetaBoard","then","board","publish","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","tracking","trackDataSource","device","fetchUrlParams","location","search","fetch","nextOccupation","nextPromocode","promocode","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","roomId","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","checkNotifications","debounce","next","handleFilters","nextClubDiscount","nextStrictSearch","handleFinder","values","handleSelect","nextCart","scrollToRoom","trackSelectItem","handleSubmit","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","filter","isClubRate","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","handleCloseLogin","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","dateDiff","days","response","roomSelectorProps","onPress","showPreviewPrice","features","getFeatures","createElement","Fragment","Header","active","name","SHOW_NAME_IN_HEADER","View","ref","row","className","styles","blur","sticky","backgroundColor","opacity","Finder","compacted","icon","storage","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onFilters","onMapView","onSelect","Cards","select","items","_ref2","index","item","Item","filterItem","taxesType","concat","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onPreview","onViewUrl","info","hotels","CardHotel","Unavailability","Notification","error","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalExtras","onCancel","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n ClubRate,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n isClubRate,\n select,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES, NOTIFICATION, UTM_SOURCE_NAME } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, mobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cancellationInfo, setCancellationInfo] = useState();\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filters, setFilters] = useState({});\n const [metaBoard, setMetaBoard] = useState();\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [itemPreview, setItemPreview] = useState();\n const [login, setLogin] = useState(false);\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n Event.subscribe(EVENT.RATES_FILTER_CLUB, handleClubDiscount);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, handleClubDiscount);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [login]);\n\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n if (!board) return;\n\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n if (clubDiscount && loginShown) loginShown = false;\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n trackDataSource({\n ...(dataSource || responseError),\n device,\n occupation,\n place,\n urlParams: fetchUrlParams(location.search),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation, nextPromocode = finder.promocode) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n // ! TODO: [MF-2005] Use helper fetchRates() within <Rates>\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && room === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleFilters = (next = {}) => {\n const { clubDiscount: nextClubDiscount, strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (clubDiscount !== nextClubDiscount) setClubDiscount(nextClubDiscount);\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setItemPreview(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation, values.promocode);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n board,\n cart: nextCart,\n device,\n occupation,\n urlParams: fetchUrlParams(location.search),\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (\n !isPestana &&\n clubDiscount &&\n !sessionProp &&\n !loginShown &&\n cart.filter((board) => isClubRate({ board, dataSource })).length > 0\n ) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n });\n };\n\n const handleCloseLogin = () => {\n loginShown = false;\n multiRoom ? setLogin(false) : handleSelect();\n };\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const { showPreviewPrice, ...features } = getFeatures(hotel.id, urlParams, { isDesktop, isMobile }, multiRoom);\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n\n return (\n <>\n <Header currency login={club.active} name={ServiceFeatures.get(FEATURES.SHOW_NAME_IN_HEADER, hotel.id)} />\n\n <View\n ref={refRoomSelector}\n row={isMobile}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder compacted={!isDesktop} icon storage={false} onSubmit={handleFinder} />\n\n {isMobile && (response || (multiRoom && !responseError)) && (\n <Filters {...dataSource} onSubmit={handleFilters} />\n )}\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, multiRoom, onFilters: handleFilters, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters)?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onPreview={showPreviewPrice && !multiRoom ? setItemPreview : undefined}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} nights={nights} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ? (\n <Unavailability {...responseError} nights={nights} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [itemPreview], dataSource, extras, login, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : handleSelect(itemPreview))}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={handleCloseLogin}\n onSuccess={() => handleSubmit(cart, true)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FREQUENCY = exports.EXTRA_TYPE = void 0;
7
+ const EXTRA_TYPE = exports.EXTRA_TYPE = {
8
+ ROOM: 0,
9
+ GUEST: 1,
10
+ RANGE: 2,
11
+ UNIT: 3
12
+ };
13
+ const FREQUENCY = exports.FREQUENCY = {
14
+ ONCE: 0,
15
+ NIGHTLY: 1
16
+ };
17
+ //# sourceMappingURL=ModalExtras.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalExtras.constants.js","names":["EXTRA_TYPE","exports","ROOM","GUEST","RANGE","UNIT","FREQUENCY","ONCE","NIGHTLY"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.constants.js"],"sourcesContent":["const EXTRA_TYPE = {\n ROOM: 0,\n GUEST: 1,\n RANGE: 2,\n UNIT: 3,\n};\n\nconst FREQUENCY = {\n ONCE: 0,\n NIGHTLY: 1,\n};\n\nexport { EXTRA_TYPE, FREQUENCY };\n"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACjBE,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,SAAS,GAAAL,OAAA,CAAAK,SAAA,GAAG;EAChBC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE;AACX,CAAC"}
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getCaption = void 0;
7
7
  var _locale = require("@mirai/locale");
8
- var _constants = require("../../../../../services/Rates/constants");
9
8
  var _helpers = require("../../../../helpers");
10
- var _ModalExtras = require("../ModalExtras.l10n");
9
+ var _ModalExtras = require("../ModalExtras.constants");
10
+ var _ModalExtras2 = require("../ModalExtras.l10n");
11
11
  const {
12
12
  GUEST,
13
13
  RANGE,
14
14
  ROOM,
15
15
  UNIT
16
- } = _constants.EXTRA_TYPE;
16
+ } = _ModalExtras.EXTRA_TYPE;
17
17
  const {
18
18
  NIGHTLY,
19
19
  ONCE
20
- } = _constants.FREQUENCY;
20
+ } = _ModalExtras.FREQUENCY;
21
21
  const getCaption = function () {
22
22
  let {
23
23
  accommodationType,
@@ -38,26 +38,26 @@ const getCaption = function () {
38
38
  plural: guests > 1,
39
39
  type: guestType
40
40
  }, translate);
41
- const labelNights = translate(_ModalExtras.L10N.LABEL_NIGHT_COUNT, {
41
+ const labelNights = translate(_ModalExtras2.L10N.LABEL_NIGHT_COUNT, {
42
42
  value: nights
43
43
  });
44
44
  let result = '';
45
45
  if (type === UNIT && frequency === NIGHTLY) {
46
- result = translate(_ModalExtras.L10N.LABEL_FOR_TYPE_EXTRA, {
46
+ result = translate(_ModalExtras2.L10N.LABEL_FOR_TYPE_EXTRA, {
47
47
  value: labelNights
48
48
  });
49
- } else if (type === ROOM && frequency === NIGHTLY && !inputGuests) result = translate(_ModalExtras.L10N.LABEL_FOR_TYPE_EXTRA, {
49
+ } else if (type === ROOM && frequency === NIGHTLY && !inputGuests) result = translate(_ModalExtras2.L10N.LABEL_FOR_TYPE_EXTRA, {
50
50
  value: "".concat(labelNights).concat(amount > 1 ? ", ".concat(amount, " ").concat(labelAccommodation) : '')
51
51
  });else if (type === ROOM && frequency === ONCE) {
52
- result = amount > 1 ? translate(_ModalExtras.L10N.LABEL_FOR_TYPE_EXTRA, {
52
+ result = amount > 1 ? translate(_ModalExtras2.L10N.LABEL_FOR_TYPE_EXTRA, {
53
53
  value: "".concat(amount, " ").concat(labelAccommodation)
54
54
  }) : '';
55
55
  } else if ([GUEST, RANGE].includes(type) && frequency === ONCE) {
56
- result = translate(_ModalExtras.L10N.LABEL_FOR_TYPE_EXTRA, {
56
+ result = translate(_ModalExtras2.L10N.LABEL_FOR_TYPE_EXTRA, {
57
57
  value: "".concat(guests, " ").concat(labelGuest)
58
58
  });
59
59
  } else if (type === GUEST && frequency === NIGHTLY) {
60
- result = translate(_ModalExtras.L10N.LABEL_FOR_TYPE_EXTRA, {
60
+ result = translate(_ModalExtras2.L10N.LABEL_FOR_TYPE_EXTRA, {
61
61
  value: "".concat(guests, " ").concat(labelGuest, ", ").concat(labelNights)
62
62
  });
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getCaption.js","names":["_locale","require","_constants","_helpers","_ModalExtras","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","NIGHTLY","ONCE","FREQUENCY","getCaption","accommodationType","amount","frequency","guestType","inputGuests","type","valueAmount","guests","valueNights","nights","arguments","length","undefined","translate","translateBase","labelAccommodation","getAccommodationLabel","plural","toLowerCase","labelGuest","getGuestLabel","labelNights","L10N","LABEL_NIGHT_COUNT","value","result","LABEL_FOR_TYPE_EXTRA","concat","includes","exports"],"sources":["../../../../../../src/components/Rates/components/ModalExtras/helpers/getCaption.js"],"sourcesContent":["import { translate as translateBase } from '@mirai/locale';\n\nimport { EXTRA_TYPE, FREQUENCY } from '../../../../../services/Rates/constants';\nimport { getAccommodationLabel, getGuestLabel } from '../../../../helpers';\nimport { L10N } from '../ModalExtras.l10n';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { NIGHTLY, ONCE } = FREQUENCY;\n\nexport const getCaption = (\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests = false,\n type,\n valueAmount: guests = 0,\n valueNights: nights = 0,\n } = {},\n translate = translateBase,\n) => {\n const labelAccommodation = getAccommodationLabel({ plural: true, type: accommodationType }, translate).toLowerCase();\n const labelGuest = getGuestLabel({ plural: guests > 1, type: guestType }, translate);\n const labelNights = translate(L10N.LABEL_NIGHT_COUNT, { value: nights });\n let result = '';\n\n if (type === UNIT && frequency === NIGHTLY) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: labelNights });\n } else if (type === ROOM && frequency === NIGHTLY && !inputGuests)\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, {\n value: `${labelNights}${amount > 1 ? `, ${amount} ${labelAccommodation}` : ''}`,\n });\n else if (type === ROOM && frequency === ONCE) {\n result = amount > 1 ? translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${amount} ${labelAccommodation}` }) : '';\n } else if ([GUEST, RANGE].includes(type) && frequency === ONCE) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${guests} ${labelGuest}` });\n } else if (type === GUEST && frequency === NIGHTLY) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${guests} ${labelGuest}, ${labelNights}` });\n }\n\n return result;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getCaption.js","names":["_locale","require","_helpers","_ModalExtras","_ModalExtras2","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","NIGHTLY","ONCE","FREQUENCY","getCaption","accommodationType","amount","frequency","guestType","inputGuests","type","valueAmount","guests","valueNights","nights","arguments","length","undefined","translate","translateBase","labelAccommodation","getAccommodationLabel","plural","toLowerCase","labelGuest","getGuestLabel","labelNights","L10N","LABEL_NIGHT_COUNT","value","result","LABEL_FOR_TYPE_EXTRA","concat","includes","exports"],"sources":["../../../../../../src/components/Rates/components/ModalExtras/helpers/getCaption.js"],"sourcesContent":["import { translate as translateBase } from '@mirai/locale';\n\nimport { getAccommodationLabel, getGuestLabel } from '../../../../helpers';\nimport { EXTRA_TYPE, FREQUENCY } from '../ModalExtras.constants';\nimport { L10N } from '../ModalExtras.l10n';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { NIGHTLY, ONCE } = FREQUENCY;\n\nexport const getCaption = (\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests = false,\n type,\n valueAmount: guests = 0,\n valueNights: nights = 0,\n } = {},\n translate = translateBase,\n) => {\n const labelAccommodation = getAccommodationLabel({ plural: true, type: accommodationType }, translate).toLowerCase();\n const labelGuest = getGuestLabel({ plural: guests > 1, type: guestType }, translate);\n const labelNights = translate(L10N.LABEL_NIGHT_COUNT, { value: nights });\n let result = '';\n\n if (type === UNIT && frequency === NIGHTLY) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: labelNights });\n } else if (type === ROOM && frequency === NIGHTLY && !inputGuests)\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, {\n value: `${labelNights}${amount > 1 ? `, ${amount} ${labelAccommodation}` : ''}`,\n });\n else if (type === ROOM && frequency === ONCE) {\n result = amount > 1 ? translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${amount} ${labelAccommodation}` }) : '';\n } else if ([GUEST, RANGE].includes(type) && frequency === ONCE) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${guests} ${labelGuest}` });\n } else if (type === GUEST && frequency === NIGHTLY) {\n result = translate(L10N.LABEL_FOR_TYPE_EXTRA, { value: `${guests} ${labelGuest}, ${labelNights}` });\n }\n\n return result;\n};\n"],"mappings":"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"}
@@ -22,7 +22,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
  const Account = _ref => {
24
24
  let {
25
- compacted = false,
26
25
  ghost
27
26
  } = _ref;
28
27
  const {
@@ -124,7 +123,7 @@ const Account = _ref => {
124
123
  level
125
124
  })
126
125
  }, ...options];
127
- if (!ghost && (compacted || isMobile)) options = [{
126
+ if (!ghost && isMobile) options = [{
128
127
  children: /*#__PURE__*/_react.default.createElement(_SessionAccount.Info, {
129
128
  email,
130
129
  firstName,
@@ -153,14 +152,14 @@ const Account = _ref => {
153
152
  testId: "show-profile-menu"
154
153
  }, !ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
155
154
  row: true,
156
- className: (0, _ui.styles)(style.account, compacted && style.compacted)
155
+ className: (0, _ui.styles)(style.account, components.rates && style.hover)
157
156
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
158
157
  row: true,
159
158
  className: style.avatar
160
159
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
161
160
  action: true,
162
161
  bold: true
163
- }, "".concat(firstName.substr(0, 1)).toUpperCase())), !isMobile && !compacted && /*#__PURE__*/_react.default.createElement(_SessionAccount.Info, {
162
+ }, "".concat(firstName.substr(0, 1)).toUpperCase())), !isMobile && /*#__PURE__*/_react.default.createElement(_SessionAccount.Info, {
164
163
  email,
165
164
  firstName,
166
165
  lastName
@@ -169,7 +168,6 @@ const Account = _ref => {
169
168
  exports.Account = Account;
170
169
  Account.displayName = 'Mirai:Core:Session:Account';
171
170
  Account.propTypes = {
172
- compacted: _propTypes.default.bool,
173
171
  ghost: _propTypes.default.any
174
172
  };
175
173
  //# sourceMappingURL=Session.Account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Account","_ref","compacted","ghost","isMobile","useDevice","translate","useLocale","ref","useRef","value","components","club","authentication","type","AUTH_TYPE","MIRAI","cookies","hotel","url","hotelUrl","id","session","store","useStore","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","PESTANA","pestana","token","ServiceUser","logout","removeEventListener","handlePress","handleLogout","getProfileUrl","location","href","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","bool","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ compacted = false, ghost }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n cookies,\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n if (type === AUTH_TYPE.PESTANA) {\n const { pestana: token } = cookies;\n\n if (session && !token) {\n ServiceUser.logout();\n set({ session: undefined });\n }\n }\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n ServiceUser.logout();\n\n if (type === AUTH_TYPE.MIRAI) {\n set({ session: undefined });\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options =\n type === AUTH_TYPE.MIRAI\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n { icon: ICON.LIST, label: translate(L10N.ACTION_MY_BOOKINGS), value: 'bookings', testId: 'session-bookings' },\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && (compacted || isMobile))\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session ? [...options, { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout' }] : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-profile-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, compacted && style.compacted)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && !compacted && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n compacted: PropTypes.bool,\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAL,uBAAA,CAAAP,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAAyD,SAAAe,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,SAAAT,wBAAAS,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,SAAAnB,uBAAA+B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAEzD,MAAMC,OAAO,GAAGC,IAAA,IAAkC;EAAA,IAAjC;IAAEC,SAAS,GAAG,KAAK;IAAEC;EAAM,CAAC,GAAAF,IAAA;EAC3C,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJX,GAAG;IACHY,KAAK,EAAE;MACLC,UAAU,GAAG,CAAC,CAAC;MACfC,IAAI,EAAE;QAAEC,cAAc,EAAE;UAAEC,IAAI,GAAGC,eAAS,CAACC;QAAM,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAC9DC,OAAO;MACPC,KAAK,EAAE;QAAEC,GAAG,EAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7BC,EAAE;MACFC,OAAO;MACP,GAAGC;IACL;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,kBAAkB,GAAGC,KAAA,IAAgB;MAAA,IAAAC,YAAA;MAAA,IAAf;QAAEC;MAAO,CAAC,GAAAF,KAAA;MACpC,IAAI,GAAAC,YAAA,GAACvB,GAAG,CAACyB,OAAO,cAAAF,YAAA,eAAXA,YAAA,CAAaG,QAAQ,CAACF,MAAM,CAAC,GAAEN,OAAO,CAACS,SAAS,CAAC;IACxD,CAAC;IACDC,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAER,kBAAkB,EAAE,IAAI,CAAC;IAE5D,IAAIf,IAAI,KAAKC,eAAS,CAACuB,OAAO,EAAE;MAC9B,MAAM;QAAEC,OAAO,EAAEC;MAAM,CAAC,GAAGvB,OAAO;MAElC,IAAIK,OAAO,IAAI,CAACkB,KAAK,EAAE;QACrBC,qBAAW,CAACC,MAAM,CAAC,CAAC;QACpB5C,GAAG,CAAC;UAAEwB,OAAO,EAAEa;QAAU,CAAC,CAAC;MAC7B;IACF;IACA,OAAO,MAAMC,QAAQ,CAACO,mBAAmB,CAAC,OAAO,EAAEd,kBAAkB,EAAE,IAAI,CAAC;IAC5E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMe,WAAW,GAAIlC,KAAK,IAAK;IAC7B,IAAI,CAACA,KAAK,EAAE,OAAOgB,OAAO,CAAC,CAACD,IAAI,CAAC;IAEjCC,OAAO,CAAC,KAAK,CAAC;IACd,IAAIhB,KAAK,KAAK,QAAQ,EAAE,OAAOmC,YAAY,CAAC,CAAC;IAE7C,MAAM1B,GAAG,GAAG,IAAA2B,sBAAa,EAAC;MAAEzB,EAAE;MAAEX,KAAK;MAAE,GAAGa;IAAM,CAAC,CAAC;IAClD,IAAI,CAACJ,GAAG,EAAE;IAEViB,QAAQ,CAACW,QAAQ,CAACC,IAAI,GAAG7B,GAAG;EAC9B,CAAC;EAED,MAAM0B,YAAY,GAAGA,CAAA,KAAM;IACzBJ,qBAAW,CAACC,MAAM,CAAC,CAAC;IAEpB,IAAI5B,IAAI,KAAKC,eAAS,CAACC,KAAK,EAAE;MAC5BlB,GAAG,CAAC;QAAEwB,OAAO,EAAEa;MAAU,CAAC,CAAC;MAE3B,IAAIxB,UAAU,CAACsC,OAAO,EAAEC,MAAM,CAACH,QAAQ,CAACC,IAAI,GAAG5B,QAAQ,CAAC,KACnD8B,MAAM,CAACH,QAAQ,CAACI,MAAM,CAAC,CAAC;MAE7B;IACF;IAEA,MAAMhC,GAAG,MAAAiC,MAAA,CAAMC,OAAO,CAACC,GAAG,CAACC,YAAY,OAAAH,MAAA,CAAII,iBAAQ,CAACC,eAAe,EAAAL,MAAA,CAAG,IAAAM,qBAAW,EAAC;MAChFC,eAAe,EAAEtC,EAAE;MACnBuC,MAAM,EAAExB,QAAQ,CAACW,QAAQ,CAACC;IAC5B,CAAC,CAAC,CAAE;IAEJZ,QAAQ,CAACW,QAAQ,CAACC,IAAI,GAAG7B,GAAG;EAC9B,CAAC;EAED,MAAM;IAAE0C,KAAK;IAAEC,SAAS,GAAG,EAAE;IAAEC,QAAQ,GAAG,EAAE;IAAEC;EAAM,CAAC,GAAG1C,OAAO,IAAI,CAAC,CAAC;EAErE,IAAI2C,OAAO,GACTnD,IAAI,KAAKC,eAAS,CAACC,KAAK,GACpB,CACE;IACEkD,IAAI,EAAEC,cAAI,CAACC,MAAM;IACjBC,KAAK,EAAE/D,SAAS,CAACgE,cAAI,CAACC,qBAAqB,CAAC;IAC5C7D,KAAK,EAAE,SAAS;IAChB8D,MAAM,EAAE;EACV,CAAC,EACD;IAAEN,IAAI,EAAEC,cAAI,CAACM,IAAI;IAAEJ,KAAK,EAAE/D,SAAS,CAACgE,cAAI,CAACI,kBAAkB,CAAC;IAAEhE,KAAK,EAAE,UAAU;IAAE8D,MAAM,EAAE;EAAmB,CAAC,CAC9G,GACD,EAAE;EACR,IAAIR,KAAK,EAAEC,OAAO,GAAG,CAAC;IAAEU,OAAO,EAAE,IAAI;IAAEN,KAAK,EAAE/D,SAAS,CAACgE,cAAI,CAACM,KAAK,EAAE;MAAEZ;IAAM,CAAC;EAAE,CAAC,EAAE,GAAGC,OAAO,CAAC;EAC7F,IAAI,CAAC9D,KAAK,KAAKD,SAAS,IAAIE,QAAQ,CAAC,EACnC6D,OAAO,GAAG,CACR;IACEY,QAAQ,eAAE5G,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAC1G,eAAA,CAAA2G,IAAI;MAAOlB,KAAK;MAAEC,SAAS;MAAEC;IAAQ,CAAK,CAAC;IACtDY,OAAO,EAAE;EACX,CAAC,EACD,GAAGV,OAAO,CACX;EAEH,oBACEhG,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAkH,IAAI;IAACC,IAAI,EAAC,SAAS;IAACzE,GAAG,EAAEA;EAAI,gBAC5BvC,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAoH,IAAI;IACHC,OAAO,EAAE1D,IAAK;IACdwC,OAAO,EACL3C,OAAO,GAAG,CAAC,GAAG2C,OAAO,EAAE;MAAEC,IAAI,EAAEC,cAAI,CAACiB,MAAM;MAAEf,KAAK,EAAE/D,SAAS,CAACgE,cAAI,CAACe,UAAU,CAAC;MAAE3E,KAAK,EAAE;IAAS,CAAC,CAAC,GAAG,IACrG;IACD4E,OAAO,EAAE1C,WAAY;IACrB4B,MAAM,EAAC;EAAc,gBAErBvG,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAyH,SAAS;IACRD,OAAO,EAAEA,CAAA,KAAM5D,OAAO,CAAC,CAACD,IAAI,CAAE;IAC9B+D,uBAAuB,EAAErF,KAAK,GAAG;MAAEsF,MAAM,EAAE,IAAAC,kBAAQ,EAACvF,KAAK,CAACwF,SAAS,EAAErE,OAAO,EAAEhB,SAAS;IAAE,CAAC,GAAG6B,SAAU;IACvGyD,SAAS,EAAErH,KAAK,CAACsH,SAAU;IAC3BrB,MAAM,EAAC;EAAmB,GAEzB,CAACrE,KAAK,gBACLlC,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAkH,IAAI;IAACc,GAAG;IAACF,SAAS,EAAE,IAAAG,UAAM,EAACxH,KAAK,CAACyH,OAAO,EAAE9F,SAAS,IAAI3B,KAAK,CAAC2B,SAAS;EAAE,gBACvEjC,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAkH,IAAI;IAACc,GAAG;IAACF,SAAS,EAAErH,KAAK,CAAC0H;EAAO,gBAChChI,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAChH,GAAA,CAAAoI,IAAI;IAACC,MAAM;IAACC,IAAI;EAAA,GACd,GAAAhD,MAAA,CAAGU,SAAS,CAACuC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAGC,WAAW,CAAC,CACrC,CACF,CAAC,EACN,CAAClG,QAAQ,IAAI,CAACF,SAAS,iBAAIjC,MAAA,CAAAe,OAAA,CAAA8F,aAAA,CAAC1G,eAAA,CAAA2G,IAAI;IAAOlB,KAAK;IAAEC,SAAS;IAAEC;EAAQ,CAAK,CACnE,CAAC,GACL,IACK,CACP,CACF,CAAC;AAEX,CAAC;AAACwC,OAAA,CAAAvG,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACwG,WAAW,GAAG,4BAA4B;AAElDxG,OAAO,CAACyG,SAAS,GAAG;EAClBvG,SAAS,EAAEwG,kBAAS,CAACC,IAAI;EACzBxG,KAAK,EAAEuG,kBAAS,CAACE;AACnB,CAAC"}
1
+ {"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Account","_ref","ghost","isMobile","useDevice","translate","useLocale","ref","useRef","value","components","club","authentication","type","AUTH_TYPE","MIRAI","cookies","hotel","url","hotelUrl","id","session","store","useStore","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","PESTANA","pestana","token","ServiceUser","logout","removeEventListener","handlePress","handleLogout","getProfileUrl","location","href","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","rates","hover","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ ghost }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n cookies,\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n if (type === AUTH_TYPE.PESTANA) {\n const { pestana: token } = cookies;\n\n if (session && !token) {\n ServiceUser.logout();\n set({ session: undefined });\n }\n }\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n ServiceUser.logout();\n\n if (type === AUTH_TYPE.MIRAI) {\n set({ session: undefined });\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options =\n type === AUTH_TYPE.MIRAI\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n { icon: ICON.LIST, label: translate(L10N.ACTION_MY_BOOKINGS), value: 'bookings', testId: 'session-bookings' },\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && isMobile)\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session ? [...options, { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout' }] : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-profile-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, components.rates && style.hover)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":"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"}
@@ -37,10 +37,6 @@
37
37
  white-space: nowrap;
38
38
  }
39
39
 
40
- .account.compacted {
41
- padding: var(--mirai-ui-space-S) var(--mirai-ui-space-S);
42
- }
43
-
44
40
  .description {
45
41
  margin-bottom: var(--mirai-ui-space-S);
46
42
  }
@@ -99,8 +95,12 @@
99
95
  padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
100
96
  }
101
97
 
102
- .account:hover {
103
- background-color: var(--mirai-ui-content-background);
98
+ .account.hover:hover {
99
+ background-color: var(--mirai-ui-accent-background);
100
+ }
101
+
102
+ .account.hover:hover > :nth-child(2) > * {
103
+ color: var(--mirai-ui-accent-dark);
104
104
  }
105
105
 
106
106
  .children {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.fetchConfig = void 0;
7
- var _services = require("../services");
7
+ var _services = require("@mirai/services");
8
8
  var _process, _process$env;
9
9
  const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
10
10
  const fetchConfig = async function () {