@mirai/core 0.3.200 → 0.3.202

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 (56) hide show
  1. package/build/Core.js +46 -19
  2. package/build/Core.js.map +1 -1
  3. package/build/components/Chat/components/InputRich/InputRich.js +1 -1
  4. package/build/components/Chat/components/InputRich/InputRich.js.map +1 -1
  5. package/build/components/Rates/Rates.Unavailability.js +5 -8
  6. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  7. package/build/components/Rates/Rates.js +82 -108
  8. package/build/components/Rates/Rates.js.map +1 -1
  9. package/build/components/Rates/Rates.l10n.js +0 -6
  10. package/build/components/Rates/Rates.l10n.js.map +1 -1
  11. package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
  12. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  13. package/build/components/Rates/components/Item/Item.Preview.js +3 -2
  14. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  15. package/build/components/Rates/components/Item/Item.l10n.js +3 -0
  16. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  17. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +6 -1
  18. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  19. package/build/components/Rates/components/Item/components/Features/Features.js +15 -3
  20. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  21. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +13 -7
  22. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  23. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -0
  24. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  25. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +5 -1
  26. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
  27. package/build/components/Rates/components/Item/components/Slider/Slider.js +3 -2
  28. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  29. package/build/components/Rates/components/ModalExtras/ModalExtras.js +1 -0
  30. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  31. package/build/components/Rates/helpers/getFinderParams.js +3 -8
  32. package/build/components/Rates/helpers/getFinderParams.js.map +1 -1
  33. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +23 -4
  34. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  35. package/build/components/helpers/ICON.js +4 -4
  36. package/build/components/helpers/ICON.js.map +1 -1
  37. package/build/components/helpers/constants.js +1 -0
  38. package/build/components/helpers/constants.js.map +1 -1
  39. package/build/components/helpers/index.js +11 -0
  40. package/build/components/helpers/index.js.map +1 -1
  41. package/build/components/helpers/replaceUrlParams.js +18 -0
  42. package/build/components/helpers/replaceUrlParams.js.map +1 -0
  43. package/build/helpers/consolidateStore.js +2 -1
  44. package/build/helpers/consolidateStore.js.map +1 -1
  45. package/build/helpers/debounce.js +21 -0
  46. package/build/helpers/debounce.js.map +1 -0
  47. package/build/helpers/index.js +11 -0
  48. package/build/helpers/index.js.map +1 -1
  49. package/build/services/Rates/get.js +1 -6
  50. package/build/services/Rates/get.js.map +1 -1
  51. package/build/services/Rates/helpers/parseBoards.js +1 -1
  52. package/build/services/Rates/helpers/parseBoards.js.map +1 -1
  53. package/build/services/Rates/hotels.js +1 -4
  54. package/build/services/Rates/hotels.js.map +1 -1
  55. package/package.json +1 -1
  56. package/public/App.Container.jsx +1 -1
package/build/Core.js CHANGED
@@ -39,32 +39,59 @@ const Core = _ref => {
39
39
  } = (0, _dataSources.useStore)();
40
40
  const [dictionary, setDictionary] = (0, _react.useState)(!skeleton ? _services.ServiceDictionary.cache(locale) : undefined);
41
41
  (0, _react.useEffect)(() => {
42
- const handleIntentLocale = async _ref2 => {
42
+ const handleIntentCurrency = _ref2 => {
43
43
  let {
44
- locale
44
+ currency
45
45
  } = _ref2;
46
- const dictionary = await fetchDictionary(locale);
47
- if (dictionary) {
48
- const [language] = locale.split('-');
46
+ set({
47
+ currency
48
+ });
49
+ };
50
+ const handleIntentEnvironment = async _ref3 => {
51
+ let {
52
+ currency: nextCurrency,
53
+ locale: nextLocale
54
+ } = _ref3;
55
+ if (currency === nextCurrency && locale === nextLocale) return;
56
+ const [language] = nextLocale.split('-');
57
+ set({
58
+ currency: nextCurrency,
59
+ language,
60
+ locale: nextLocale
61
+ });
62
+ if (locale !== nextLocale) {
49
63
  (0, _helpers2.themeDirection)(language);
50
- set({
51
- language,
52
- locale
53
- });
64
+ fetchDictionary(nextLocale);
54
65
  }
55
66
  };
67
+ const handleIntentLocale = async _ref4 => {
68
+ let {
69
+ locale
70
+ } = _ref4;
71
+ const [language] = locale.split('-');
72
+ (0, _helpers2.themeDirection)(language);
73
+ set({
74
+ currency,
75
+ language,
76
+ locale
77
+ });
78
+ fetchDictionary(locale);
79
+ };
56
80
  if (skeleton) {
57
81
  const cached = _services.ServiceDictionary.cache(locale);
58
82
  if (cached) setDictionary(cached);
83
+ } else {
84
+ _dataSources.Event.subscribe(_helpers.EVENT.INTENT_CURRENCY, handleIntentCurrency);
85
+ _dataSources.Event.subscribe(_helpers.EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);
86
+ _dataSources.Event.subscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
59
87
  }
60
- _dataSources.Event.subscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
61
- return () => _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
88
+ return () => {
89
+ _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_CURRENCY, handleIntentCurrency);
90
+ _dataSources.Event.subscribe(_helpers.EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);
91
+ _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_LOCALE, handleIntentLocale);
92
+ };
62
93
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
94
  }, []);
64
- (0, _react.useEffect)(() => {
65
- if (!skeleton) fetchDictionary(locale);
66
- // eslint-disable-next-line react-hooks/exhaustive-deps
67
- }, [locale]);
68
95
  const fetchDictionary = async locale => {
69
96
  const cached = _services.ServiceDictionary.cache(locale);
70
97
  if (cached) setDictionary(cached);
@@ -76,18 +103,18 @@ const Core = _ref => {
76
103
  currency,
77
104
  dictionary,
78
105
  locale
79
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !skeleton && /*#__PURE__*/_react.default.createElement(_Core.Notifications, null), components.filter(_ref3 => {
106
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !skeleton && /*#__PURE__*/_react.default.createElement(_Core.Notifications, null), components.filter(_ref5 => {
80
107
  let {
81
108
  desktop,
82
109
  mobile
83
- } = _ref3;
110
+ } = _ref5;
84
111
  return !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false');
85
- }).map((_ref4, index) => {
112
+ }).map((_ref6, index) => {
86
113
  let {
87
114
  el,
88
115
  component,
89
116
  ...props
90
- } = _ref4;
117
+ } = _ref6;
91
118
  if (!ghosts[index]) ghosts[index] = (0, _helpers2.getGhost)(el);
92
119
  const {
93
120
  dangerousChildren
package/build/Core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_sanitizeComponent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentLocale","_ref2","fetchDictionary","language","split","themeDirection","cached","Event","subscribe","EVENT","INTENT_LOCALE","unsubscribe","next","createElement","LocaleProvider","Fragment","Notifications","filter","_ref3","desktop","mobile","map","_ref4","index","el","component","props","getGhost","dangerousChildren","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getGhost, themeDirection } from './helpers';\nimport { sanitizeComponent } from './helpers/sanitizeComponent';\n\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n set,\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n const handleIntentLocale = async ({ locale }) => {\n const dictionary = await fetchDictionary(locale);\n if (dictionary) {\n const [language] = locale.split('-');\n themeDirection(language);\n set({ language, locale });\n }\n };\n\n if (skeleton) {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n }\n\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n return () => Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!skeleton) fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const fetchDictionary = async (locale) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(({ desktop, mobile }) => !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false'))\n .map(({ el, component, ...props }, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n\n const { dangerousChildren } = sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren,\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_sanitizeComponent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentCurrency","_ref2","handleIntentEnvironment","_ref3","nextCurrency","nextLocale","language","split","themeDirection","fetchDictionary","handleIntentLocale","_ref4","cached","Event","subscribe","EVENT","INTENT_CURRENCY","INTENT_ENVIRONMENT","INTENT_LOCALE","unsubscribe","next","createElement","LocaleProvider","Fragment","Notifications","filter","_ref5","desktop","mobile","map","_ref6","index","el","component","props","getGhost","dangerousChildren","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getGhost, themeDirection } from './helpers';\nimport { sanitizeComponent } from './helpers/sanitizeComponent';\n\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n set,\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n const handleIntentCurrency = ({ currency }) => {\n set({ currency });\n };\n\n const handleIntentEnvironment = async ({ currency: nextCurrency, locale: nextLocale }) => {\n if (currency === nextCurrency && locale === nextLocale) return;\n\n const [language] = nextLocale.split('-');\n set({ currency: nextCurrency, language, locale: nextLocale });\n\n if (locale !== nextLocale) {\n themeDirection(language);\n fetchDictionary(nextLocale);\n }\n };\n\n const handleIntentLocale = async ({ locale }) => {\n const [language] = locale.split('-');\n themeDirection(language);\n set({ currency, language, locale });\n\n fetchDictionary(locale);\n };\n\n if (skeleton) {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n } else {\n Event.subscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n }\n\n return () => {\n Event.unsubscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_ENVIRONMENT, handleIntentEnvironment);\n Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const fetchDictionary = async (locale) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(({ desktop, mobile }) => !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false'))\n .map(({ el, component, ...props }, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n\n const { dangerousChildren } = sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren,\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
@@ -71,7 +71,7 @@ const InputRich = _ref => {
71
71
  setVisible(true);
72
72
  };
73
73
  _dataSources.Event.subscribe(_Chat.EVENT.INPUT_COMPONENT, callback);
74
- return _dataSources.Event.unsubscribe(_Chat.EVENT.INPUT_COMPONENT, callback);
74
+ return () => _dataSources.Event.unsubscribe(_Chat.EVENT.INPUT_COMPONENT, callback);
75
75
  }, [lisa, setDataSource]);
76
76
  const handleClose = () => {
77
77
  setVisible(false);
@@ -1 +1 @@
1
- {"version":3,"file":"InputRich.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_InputRich","_InputRich2","style","_shared__","_helpers2","_Chat","_helpers3","_Avatar","_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","CALENDAR_PROPS","format","months","range","vertical","INPUT_TEXT_TYPES","InputRich","_ref","disabled","onValue","others","dateFormat","translate","useLocale","value","lisa","locale","store","useStore","dataSource","setDataSource","useState","setValue","valid","setValid","visible","setVisible","useEffect","callback","props","undefined","response","requirements","name","keys","next","Event","subscribe","EVENT","INPUT_COMPONENT","unsubscribe","handleClose","handleChange","type","from","to","handleSubmit","intent","form","context","required","onSubmit","component","text","is","calendar","getVerboseDate","occupation","getVerboseOccupation","list","getVerboseList","includes","createElement","View","className","container","content","row","header","Avatar","small","Text","bold","headline","wide","Button","squared","transparent","onPress","Icon","ICON","CLOSE","React","Calendar","Occupation","List","InputText","onChange","onError","onValid","styles","inputText","footer","large","L10N","ACTION_APPLY","exports","propTypes","PropTypes","bool","func"],"sources":["../../../../../src/components/Chat/components/InputRich/InputRich.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar, Icon, InputText, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getVerboseList, getVerboseOccupation } from './helpers';\nimport { L10N } from './InputRich.l10n';\nimport { List } from './InputRich.List';\nimport * as style from './InputRich.module.css';\nimport { Occupation } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\nimport { EVENT } from '../../Chat.constants';\nimport { getVerboseDate } from '../../helpers';\nimport { Avatar } from '../Avatar';\n\nconst CALENDAR_PROPS = { format: 'DD/MM/YYYY', months: 12, range: true, vertical: true };\nconst INPUT_TEXT_TYPES = ['text', 'password', 'email', 'number'];\n\nconst InputRich = ({ disabled = false, onValue = () => {}, ...others }) => {\n const { dateFormat, translate } = useLocale();\n const {\n value: { lisa, locale, ...store },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [value, setValue] = useState();\n const [valid, setValid] = useState();\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n const callback = (props = {}) => {\n const { response: { requirements = {} } = {} } = lisa;\n const [name] = Object.keys(requirements);\n if (!name) return;\n\n const next = { ...props, name, ...requirements[name] };\n setDataSource(next);\n\n setValid(); // ! TODO: In some cases (occupation & promocode) we should set \"something\"\n setValue();\n setVisible(true);\n };\n\n Event.subscribe(EVENT.INPUT_COMPONENT, callback);\n return Event.unsubscribe(EVENT.INPUT_COMPONENT, callback);\n }, [lisa, setDataSource]);\n\n const handleClose = () => {\n setVisible(false);\n };\n\n const handleChange = (value) => {\n const { type } = dataSource;\n let next = value;\n\n if (type === 'calendar') {\n const [from, to] = value || [];\n next = [from ? dateFormat(from, CALENDAR_PROPS) : undefined, to ? dateFormat(to, CALENDAR_PROPS) : undefined];\n setValid(!!from && !!to);\n }\n\n setValue(next);\n };\n\n const handleSubmit = () => {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n const { name, required, onSubmit, ...component } = dataSource;\n\n if (onSubmit) {\n const text = is.calendar\n ? getVerboseDate(value, locale)\n : is.occupation\n ? getVerboseOccupation({ store, translate, value })\n : is.list\n ? getVerboseList(value, component)\n : value;\n onSubmit({ text, value });\n }\n onValue({\n intent,\n context,\n form: { ...form, [name]: is.text && !required && !value ? ' ' : value },\n });\n setVisible(false);\n };\n\n const { required, text, type, ...component } = dataSource || {};\n const is = {\n calendar: type === 'calendar',\n list: type === 'list',\n occupation: type === 'occupation',\n text: INPUT_TEXT_TYPES.includes(type),\n };\n\n return (\n <View {...others} className={[style.container, visible && style.visible]}>\n <View className={[style.content, visible && style.visible]}>\n <View row className={style.header}>\n <Avatar small />\n\n <Text bold headline wide>\n {text}\n </Text>\n\n <Button squared transparent onPress={handleClose}>\n <Icon headline value={ICON.CLOSE} />\n </Button>\n </View>\n\n {type &&\n React.createElement(is.calendar ? Calendar : is.occupation ? Occupation : is.list ? List : InputText, {\n ...component,\n ...(type === 'calendar' ? CALENDAR_PROPS : {}),\n locale,\n value,\n onChange: handleChange,\n onError: () => setValid(false),\n onValid: () => setValid(true),\n onSubmit: undefined,\n className: styles(style.component, is.text && style.inputText, component.className),\n })}\n\n <View className={style.footer}>\n <Button disabled={disabled || (required && !valid)} large wide onPress={handleSubmit}>\n {translate(L10N.ACTION_APPLY)}\n </Button>\n </View>\n </View>\n </View>\n );\n};\n\nInputRich.propTypes = {\n disabled: PropTypes.bool,\n onValue: PropTypes.func,\n};\n\nexport { InputRich };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputRich.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_InputRich","_InputRich2","style","_shared__","_helpers2","_Chat","_helpers3","_Avatar","_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","CALENDAR_PROPS","format","months","range","vertical","INPUT_TEXT_TYPES","InputRich","_ref","disabled","onValue","others","dateFormat","translate","useLocale","value","lisa","locale","store","useStore","dataSource","setDataSource","useState","setValue","valid","setValid","visible","setVisible","useEffect","callback","props","undefined","response","requirements","name","keys","next","Event","subscribe","EVENT","INPUT_COMPONENT","unsubscribe","handleClose","handleChange","type","from","to","handleSubmit","intent","form","context","required","onSubmit","component","text","is","calendar","getVerboseDate","occupation","getVerboseOccupation","list","getVerboseList","includes","createElement","View","className","container","content","row","header","Avatar","small","Text","bold","headline","wide","Button","squared","transparent","onPress","Icon","ICON","CLOSE","React","Calendar","Occupation","List","InputText","onChange","onError","onValid","styles","inputText","footer","large","L10N","ACTION_APPLY","exports","propTypes","PropTypes","bool","func"],"sources":["../../../../../src/components/Chat/components/InputRich/InputRich.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar, Icon, InputText, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getVerboseList, getVerboseOccupation } from './helpers';\nimport { L10N } from './InputRich.l10n';\nimport { List } from './InputRich.List';\nimport * as style from './InputRich.module.css';\nimport { Occupation } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\nimport { EVENT } from '../../Chat.constants';\nimport { getVerboseDate } from '../../helpers';\nimport { Avatar } from '../Avatar';\n\nconst CALENDAR_PROPS = { format: 'DD/MM/YYYY', months: 12, range: true, vertical: true };\nconst INPUT_TEXT_TYPES = ['text', 'password', 'email', 'number'];\n\nconst InputRich = ({ disabled = false, onValue = () => {}, ...others }) => {\n const { dateFormat, translate } = useLocale();\n const {\n value: { lisa, locale, ...store },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [value, setValue] = useState();\n const [valid, setValid] = useState();\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n const callback = (props = {}) => {\n const { response: { requirements = {} } = {} } = lisa;\n const [name] = Object.keys(requirements);\n if (!name) return;\n\n const next = { ...props, name, ...requirements[name] };\n setDataSource(next);\n\n setValid(); // ! TODO: In some cases (occupation & promocode) we should set \"something\"\n setValue();\n setVisible(true);\n };\n\n Event.subscribe(EVENT.INPUT_COMPONENT, callback);\n return () => Event.unsubscribe(EVENT.INPUT_COMPONENT, callback);\n }, [lisa, setDataSource]);\n\n const handleClose = () => {\n setVisible(false);\n };\n\n const handleChange = (value) => {\n const { type } = dataSource;\n let next = value;\n\n if (type === 'calendar') {\n const [from, to] = value || [];\n next = [from ? dateFormat(from, CALENDAR_PROPS) : undefined, to ? dateFormat(to, CALENDAR_PROPS) : undefined];\n setValid(!!from && !!to);\n }\n\n setValue(next);\n };\n\n const handleSubmit = () => {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n const { name, required, onSubmit, ...component } = dataSource;\n\n if (onSubmit) {\n const text = is.calendar\n ? getVerboseDate(value, locale)\n : is.occupation\n ? getVerboseOccupation({ store, translate, value })\n : is.list\n ? getVerboseList(value, component)\n : value;\n onSubmit({ text, value });\n }\n onValue({\n intent,\n context,\n form: { ...form, [name]: is.text && !required && !value ? ' ' : value },\n });\n setVisible(false);\n };\n\n const { required, text, type, ...component } = dataSource || {};\n const is = {\n calendar: type === 'calendar',\n list: type === 'list',\n occupation: type === 'occupation',\n text: INPUT_TEXT_TYPES.includes(type),\n };\n\n return (\n <View {...others} className={[style.container, visible && style.visible]}>\n <View className={[style.content, visible && style.visible]}>\n <View row className={style.header}>\n <Avatar small />\n\n <Text bold headline wide>\n {text}\n </Text>\n\n <Button squared transparent onPress={handleClose}>\n <Icon headline value={ICON.CLOSE} />\n </Button>\n </View>\n\n {type &&\n React.createElement(is.calendar ? Calendar : is.occupation ? Occupation : is.list ? List : InputText, {\n ...component,\n ...(type === 'calendar' ? CALENDAR_PROPS : {}),\n locale,\n value,\n onChange: handleChange,\n onError: () => setValid(false),\n onValid: () => setValid(true),\n onSubmit: undefined,\n className: styles(style.component, is.text && style.inputText, component.className),\n })}\n\n <View className={style.footer}>\n <Button disabled={disabled || (required && !valid)} large wide onPress={handleSubmit}>\n {translate(L10N.ACTION_APPLY)}\n </Button>\n </View>\n </View>\n </View>\n );\n};\n\nInputRich.propTypes = {\n disabled: PropTypes.bool,\n onValue: PropTypes.func,\n};\n\nexport { InputRich };\n"],"mappings":"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"}
@@ -118,20 +118,21 @@ const Unavailability = _ref => {
118
118
  }, translate(_Rates2.L10N.ACTION_VIEW_MORE)));
119
119
  };
120
120
  const renderContactInfo = () => /*#__PURE__*/_react.default.createElement(_ui.Text, {
121
- small: true,
121
+ action: !isMobile,
122
+ small: isMobile,
122
123
  className: style.contactInfo
123
124
  }, translate(_Rates2.L10N.LABEL_CONTACT_INFO, {
124
125
  email: /*#__PURE__*/_react.default.createElement(_ui.Action, {
125
126
  inline: true,
126
127
  href: "mailto:".concat(email),
127
- small: true,
128
+ small: isMobile,
128
129
  target: "_blank",
129
130
  className: style.action
130
131
  }, email),
131
132
  phone: /*#__PURE__*/_react.default.createElement(_ui.Action, {
132
133
  inline: true,
133
134
  href: "tel:".concat(phone),
134
- small: true,
135
+ small: isMobile,
135
136
  target: "_blank",
136
137
  className: style.action
137
138
  }, phone)
@@ -159,11 +160,7 @@ const Unavailability = _ref => {
159
160
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
160
161
  headline: true,
161
162
  level: isMobile ? 3 : 2
162
- }, isCalendar ? description || translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_CALENDAR) : translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_OCCUPATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
163
- action: isMobile
164
- }, translate(hotels.length ? _Rates2.L10N.LABEL_REFINE_SEARCH_CLUB : _Rates2.L10N.LABEL_REFINE_SEARCH, {
165
- club: club.name
166
- })), !isMobile && renderContactInfo()), /*#__PURE__*/_react.default.createElement(_ui.Button, {
163
+ }, isCalendar ? description || translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_CALENDAR) : translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_OCCUPATION)), !isMobile && renderContactInfo()), /*#__PURE__*/_react.default.createElement(_ui.Button, {
167
164
  wide: isMobile,
168
165
  onPress: handleFinder
169
166
  }, translate(_Rates2.L10N.ACTION_REFINE_SEARCH)), isMobile && renderContactInfo()), hasSuggestions && /*#__PURE__*/_react.default.createElement(_ui.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_helpers2","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","action","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","taxes","index","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n set({ finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text small className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text action={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {!isMobile && renderContactInfo()}\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <View key={`rooms:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_helpers2","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","taxes","index","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n set({ finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <View key={`rooms:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}