@mirai/core 0.3.199 → 0.3.201

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 (54) 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.js +82 -108
  6. package/build/components/Rates/Rates.js.map +1 -1
  7. package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
  8. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  9. package/build/components/Rates/components/Hotelverse/Hotelverse.js +16 -26
  10. package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
  11. package/build/components/Rates/components/Item/Item.Preview.js +0 -1
  12. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  13. package/build/components/Rates/components/Item/Item.l10n.js +3 -0
  14. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  15. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +6 -1
  16. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  17. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +13 -7
  18. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  19. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -0
  20. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  21. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +5 -1
  22. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
  23. package/build/components/Rates/components/Item/components/Slider/Slider.js +3 -2
  24. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  25. package/build/components/Rates/components/ModalExtras/ModalExtras.js +1 -0
  26. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  27. package/build/components/Rates/helpers/getFinderParams.js +3 -8
  28. package/build/components/Rates/helpers/getFinderParams.js.map +1 -1
  29. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +23 -4
  30. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  31. package/build/components/helpers/ICON.js +4 -4
  32. package/build/components/helpers/ICON.js.map +1 -1
  33. package/build/components/helpers/constants.js +1 -0
  34. package/build/components/helpers/constants.js.map +1 -1
  35. package/build/components/helpers/index.js +11 -0
  36. package/build/components/helpers/index.js.map +1 -1
  37. package/build/components/helpers/replaceUrlParams.js +18 -0
  38. package/build/components/helpers/replaceUrlParams.js.map +1 -0
  39. package/build/helpers/consolidateStore.js +2 -1
  40. package/build/helpers/consolidateStore.js.map +1 -1
  41. package/build/helpers/debounce.js +21 -0
  42. package/build/helpers/debounce.js.map +1 -0
  43. package/build/helpers/index.js +11 -0
  44. package/build/helpers/index.js.map +1 -1
  45. package/build/services/Rates/get.js +1 -6
  46. package/build/services/Rates/get.js.map +1 -1
  47. package/build/services/Rates/helpers/parseBoards.js +1 -1
  48. package/build/services/Rates/helpers/parseBoards.js.map +1 -1
  49. package/build/services/Rates/hotels.js +1 -4
  50. package/build/services/Rates/hotels.js.map +1 -1
  51. package/build/services/Rates/rates.js +2 -0
  52. package/build/services/Rates/rates.js.map +1 -1
  53. package/package.json +1 -1
  54. 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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AAAmC,SAAAgB,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,SAAAX,wBAAAW,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,SAAArB,uBAAAiC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEnC,MAAMK,cAAc,GAAG;EAAEC,MAAM,EAAE,YAAY;EAAEC,MAAM,EAAE,EAAE;EAAEC,KAAK,EAAE,IAAI;EAAEC,QAAQ,EAAE;AAAK,CAAC;AACxF,MAAMC,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;AAEhE,MAAMC,SAAS,GAAGC,IAAA,IAAyD;EAAA,IAAxD;IAAEC,QAAQ,GAAG,KAAK;IAAEC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EACpE,MAAM;IAAEI,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAM;IACJC,KAAK,EAAE;MAAEC,IAAI;MAAEC,MAAM;MAAE,GAAGC;IAAM;EAClC,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACP,KAAK,EAAEQ,QAAQ,CAAC,GAAG,IAAAD,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACI,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAL,eAAQ,EAAC,CAAC;EAExC,IAAAM,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAG,SAAAA,CAAA,EAAgB;MAAA,IAAfC,KAAK,GAAAlC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmC,SAAA,GAAAnC,SAAA,MAAG,CAAC,CAAC;MAC1B,MAAM;QAAEoC,QAAQ,EAAE;UAAEC,YAAY,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGjB,IAAI;MACrD,MAAM,CAACkB,IAAI,CAAC,GAAGpD,MAAM,CAACqD,IAAI,CAACF,YAAY,CAAC;MACxC,IAAI,CAACC,IAAI,EAAE;MAEX,MAAME,IAAI,GAAG;QAAE,GAAGN,KAAK;QAAEI,IAAI;QAAE,GAAGD,YAAY,CAACC,IAAI;MAAE,CAAC;MACtDb,aAAa,CAACe,IAAI,CAAC;MAEnBX,QAAQ,CAAC,CAAC,CAAC,CAAC;MACZF,QAAQ,CAAC,CAAC;MACVI,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC;IAEDU,kBAAK,CAACC,SAAS,CAACC,WAAK,CAACC,eAAe,EAAEX,QAAQ,CAAC;IAChD,OAAOQ,kBAAK,CAACI,WAAW,CAACF,WAAK,CAACC,eAAe,EAAEX,QAAQ,CAAC;EAC3D,CAAC,EAAE,CAACb,IAAI,EAAEK,aAAa,CAAC,CAAC;EAEzB,MAAMqB,WAAW,GAAGA,CAAA,KAAM;IACxBf,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,MAAMgB,YAAY,GAAI5B,KAAK,IAAK;IAC9B,MAAM;MAAE6B;IAAK,CAAC,GAAGxB,UAAU;IAC3B,IAAIgB,IAAI,GAAGrB,KAAK;IAEhB,IAAI6B,IAAI,KAAK,UAAU,EAAE;MACvB,MAAM,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAG/B,KAAK,IAAI,EAAE;MAC9BqB,IAAI,GAAG,CAACS,IAAI,GAAGjC,UAAU,CAACiC,IAAI,EAAE5C,cAAc,CAAC,GAAG8B,SAAS,EAAEe,EAAE,GAAGlC,UAAU,CAACkC,EAAE,EAAE7C,cAAc,CAAC,GAAG8B,SAAS,CAAC;MAC7GN,QAAQ,CAAC,CAAC,CAACoB,IAAI,IAAI,CAAC,CAACC,EAAE,CAAC;IAC1B;IAEAvB,QAAQ,CAACa,IAAI,CAAC;EAChB,CAAC;EAED,MAAMW,YAAY,GAAGA,CAAA,KAAM;IACzB,MAAM;MAAEC,MAAM;MAAEhB,QAAQ,EAAE;QAAEiB,IAAI,GAAG,CAAC,CAAC;QAAElC,KAAK,EAAEmC,OAAO,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGlC,IAAI;IAC1E,MAAM;MAAEkB,IAAI;MAAEiB,QAAQ;MAAEC,QAAQ;MAAE,GAAGC;IAAU,CAAC,GAAGjC,UAAU;IAE7D,IAAIgC,QAAQ,EAAE;MACZ,MAAME,IAAI,GAAGC,EAAE,CAACC,QAAQ,GACpB,IAAAC,wBAAc,EAAC1C,KAAK,EAAEE,MAAM,CAAC,GAC7BsC,EAAE,CAACG,UAAU,GACb,IAAAC,6BAAoB,EAAC;QAAEzC,KAAK;QAAEL,SAAS;QAAEE;MAAM,CAAC,CAAC,GACjDwC,EAAE,CAACK,IAAI,GACP,IAAAC,uBAAc,EAAC9C,KAAK,EAAEsC,SAAS,CAAC,GAChCtC,KAAK;MACTqC,QAAQ,CAAC;QAAEE,IAAI;QAAEvC;MAAM,CAAC,CAAC;IAC3B;IACAL,OAAO,CAAC;MACNsC,MAAM;MACNE,OAAO;MACPD,IAAI,EAAE;QAAE,GAAGA,IAAI;QAAE,CAACf,IAAI,GAAGqB,EAAE,CAACD,IAAI,IAAI,CAACH,QAAQ,IAAI,CAACpC,KAAK,GAAG,GAAG,GAAGA;MAAM;IACxE,CAAC,CAAC;IACFY,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,MAAM;IAAEwB,QAAQ;IAAEG,IAAI;IAAEV,IAAI;IAAE,GAAGS;EAAU,CAAC,GAAGjC,UAAU,IAAI,CAAC,CAAC;EAC/D,MAAMmC,EAAE,GAAG;IACTC,QAAQ,EAAEZ,IAAI,KAAK,UAAU;IAC7BgB,IAAI,EAAEhB,IAAI,KAAK,MAAM;IACrBc,UAAU,EAAEd,IAAI,KAAK,YAAY;IACjCU,IAAI,EAAEhD,gBAAgB,CAACwD,QAAQ,CAAClB,IAAI;EACtC,CAAC;EAED,oBACErF,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAA4G,IAAI,EAAAxE,QAAA,KAAKmB,MAAM;IAAEsD,SAAS,EAAE,CAACrG,KAAK,CAACsG,SAAS,EAAExC,OAAO,IAAI9D,KAAK,CAAC8D,OAAO;EAAE,iBACvEnE,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAA4G,IAAI;IAACC,SAAS,EAAE,CAACrG,KAAK,CAACuG,OAAO,EAAEzC,OAAO,IAAI9D,KAAK,CAAC8D,OAAO;EAAE,gBACzDnE,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAA4G,IAAI;IAACI,GAAG;IAACH,SAAS,EAAErG,KAAK,CAACyG;EAAO,gBAChC9G,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC9F,OAAA,CAAAqG,MAAM;IAACC,KAAK;EAAA,CAAE,CAAC,eAEhBhH,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAAoH,IAAI;IAACC,IAAI;IAACC,QAAQ;IAACC,IAAI;EAAA,GACrBrB,IACG,CAAC,eAEP/F,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAAwH,MAAM;IAACC,OAAO;IAACC,WAAW;IAACC,OAAO,EAAErC;EAAY,gBAC/CnF,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAA4H,IAAI;IAACN,QAAQ;IAAC3D,KAAK,EAAEkE,cAAI,CAACC;EAAM,CAAE,CAC7B,CACJ,CAAC,EAENtC,IAAI,iBACHuC,cAAK,CAACpB,aAAa,CAACR,EAAE,CAACC,QAAQ,GAAG4B,YAAQ,GAAG7B,EAAE,CAACG,UAAU,GAAG2B,oBAAU,GAAG9B,EAAE,CAACK,IAAI,GAAG0B,gBAAI,GAAGC,aAAS,EAAE;IACpG,GAAGlC,SAAS;IACZ,IAAIT,IAAI,KAAK,UAAU,GAAG3C,cAAc,GAAG,CAAC,CAAC,CAAC;IAC9CgB,MAAM;IACNF,KAAK;IACLyE,QAAQ,EAAE7C,YAAY;IACtB8C,OAAO,EAAEA,CAAA,KAAMhE,QAAQ,CAAC,KAAK,CAAC;IAC9BiE,OAAO,EAAEA,CAAA,KAAMjE,QAAQ,CAAC,IAAI,CAAC;IAC7B2B,QAAQ,EAAErB,SAAS;IACnBkC,SAAS,EAAE,IAAA0B,UAAM,EAAC/H,KAAK,CAACyF,SAAS,EAAEE,EAAE,CAACD,IAAI,IAAI1F,KAAK,CAACgI,SAAS,EAAEvC,SAAS,CAACY,SAAS;EACpF,CAAC,CAAC,eAEJ1G,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAA4G,IAAI;IAACC,SAAS,EAAErG,KAAK,CAACiI;EAAO,gBAC5BtI,MAAA,CAAAiB,OAAA,CAAAuF,aAAA,CAAC3G,GAAA,CAAAwH,MAAM;IAACnE,QAAQ,EAAEA,QAAQ,IAAK0C,QAAQ,IAAI,CAAC3B,KAAO;IAACsE,KAAK;IAACnB,IAAI;IAACI,OAAO,EAAEhC;EAAa,GAClFlC,SAAS,CAACkF,eAAI,CAACC,YAAY,CACtB,CACJ,CACF,CACF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA1F,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAAC2F,SAAS,GAAG;EACpBzF,QAAQ,EAAE0F,kBAAS,CAACC,IAAI;EACxB1F,OAAO,EAAEyF,kBAAS,CAACE;AACrB,CAAC"}
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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"}
@@ -21,9 +21,10 @@ var style = _interopRequireWildcard(require("./Rates.module.css"));
21
21
  var _Rates6 = require("./Rates.RoomSelector");
22
22
  var _Rates7 = _interopRequireDefault(require("./Rates.Skeleton"));
23
23
  var _Rates8 = require("./Rates.Unavailability");
24
+ var _helpers2 = require("../../helpers");
24
25
  var _services2 = require("../../services");
25
26
  var _Finder = require("../Finder");
26
- var _helpers2 = require("../helpers");
27
+ var _helpers3 = require("../helpers");
27
28
  var _SessionLogin = require("../Session/Session.Login.Modal");
28
29
  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); }
29
30
  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; }
@@ -45,7 +46,6 @@ const Rates = _ref => {
45
46
  } = (0, _locale.useLocale)();
46
47
  const refRoomSelector = (0, _react.useRef)();
47
48
  const {
48
- set,
49
49
  value: {
50
50
  club: {
51
51
  discount,
@@ -58,18 +58,11 @@ const Rates = _ref => {
58
58
  id,
59
59
  language,
60
60
  locale,
61
- rates: {
62
- cart: storeCart = []
63
- } = {},
61
+ // rates: { cart: storeCart = [] } = {},
64
62
  session,
65
63
  urlParams
66
64
  }
67
65
  } = (0, _dataSources.useStore)();
68
- const {
69
- calendar = [],
70
- occupation = [],
71
- place = {}
72
- } = finder;
73
66
  const [cart, setCart] = (0, _react.useState)([]);
74
67
  const [clubDiscount, setClubDiscount] = (0, _react.useState)(discount);
75
68
  const [dataSource, setDataSource] = (0, _react.useState)();
@@ -81,47 +74,44 @@ const Rates = _ref => {
81
74
  const [login, setLogin] = (0, _react.useState)(false);
82
75
  const [responseError, setResponseError] = (0, _react.useState)();
83
76
  const [room, setRoom] = (0, _react.useState)();
84
- (0, _react.useEffect)(() => {
85
- const callback = async function () {
86
- let {
87
- currency
88
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
- set({
90
- currency
91
- });
92
- // ! TODO: Here locale is not correct
93
- await fetch(currency, clubDiscount, undefined, room);
94
- };
95
- _dataSources.Event.subscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
96
- return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
97
- // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, []);
77
+ const {
78
+ calendar = [],
79
+ occupation = [],
80
+ place = {}
81
+ } = finder;
99
82
 
100
83
  // eslint-disable-next-line react-hooks/exhaustive-deps
101
84
  (0, _react.useEffect)(() => skeleton && setFetching(true), [skeleton]);
102
- (0, _react.useEffect)(() => {
103
- if (!storeCart.length || !dataSource || cart.length) return;
104
- const boards = dataSource.items.map(_ref2 => {
105
- let {
106
- boards = [],
107
- name: roomName
108
- } = _ref2;
109
- return boards.map(board => ({
110
- ...board,
111
- roomName
112
- }));
113
- }).flat();
114
- const nextCart = storeCart.map(id => boards.find(board => board.id === id)).filter(board => !!board);
115
85
 
116
- // eslint-disable-next-line no-console
117
- console.log('::cart from url::', nextCart);
86
+ // Hook: store cart
87
+ // useEffect(() => {
88
+ // if (!storeCart.length || !dataSource || cart.length) return;
118
89
 
119
- // if (storeCart.length === nextCart.length) setCart(nextCart);
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
121
- }, [cart, dataSource, storeCart]);
90
+ // const boards = dataSource.items
91
+ // .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))
92
+ // .flat();
93
+ // const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);
122
94
 
123
- // eslint-disable-next-line react-hooks/exhaustive-deps
124
- (0, _react.useEffect)(() => currency && locale && replaceHistory(), [currency, locale]);
95
+ // // eslint-disable-next-line no-console
96
+ // console.log('::cart from url::', nextCart);
97
+
98
+ // // if (storeCart.length === nextCart.length) setCart(nextCart);
99
+ // // eslint-disable-next-line react-hooks/exhaustive-deps
100
+ // }, [cart, dataSource, storeCart]);
101
+
102
+ // -- hooks ----------------------------------------------------------------------------------------------------------
103
+ (0, _react.useEffect)(() => {
104
+ if (!clubDiscount && !currency && !session) return;
105
+ setCart([]);
106
+ setRoom(undefined);
107
+ debounceFetch();
108
+ // eslint-disable-next-line react-hooks/exhaustive-deps
109
+ }, [clubDiscount, currency, session]);
110
+ (0, _react.useEffect)(() => {
111
+ if (!locale) return;
112
+ debounceFetch(room);
113
+ // eslint-disable-next-line react-hooks/exhaustive-deps
114
+ }, [locale]);
125
115
  (0, _react.useEffect)(() => {
126
116
  if (multiRoom) {
127
117
  if (room > 0) {
@@ -138,96 +128,81 @@ const Rates = _ref => {
138
128
  }
139
129
  setDataSource();
140
130
  }
141
- fetch(currency, undefined, getNextUrlParams(), room);
142
- replaceHistory();
131
+ debounceFetch(room);
143
132
  // eslint-disable-next-line react-hooks/exhaustive-deps
144
- }, [finder, locale, room, session]);
133
+ }, [room]);
145
134
  (0, _react.useEffect)(() => {
146
135
  if (!dataSource || room) return;
147
136
  (0, _helpers.trackDataSource)({
148
137
  ...dataSource,
149
- ...urlParams,
138
+ ...(0, _helpers2.fetchUrlParams)(location.search),
150
139
  isMobile,
151
140
  occupation,
152
141
  place
153
142
  });
154
143
  // eslint-disable-next-line react-hooks/exhaustive-deps
155
144
  }, [dataSource]);
156
- const fetch = async function (currency) {
157
- let nextClubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : clubDiscount;
158
- let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
159
- let room = arguments.length > 3 ? arguments[3] : undefined;
160
- if (skeleton || !multiRoom && room !== undefined) return;
161
- _dataSources.Event.publish(_helpers2.EVENT.FINDER, {
145
+
146
+ // -- methods --------------------------------------------------------------------------------------------------------
147
+ const fetch = async function (room) {
148
+ let nextOccupation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : occupation;
149
+ if (skeleton) return;
150
+ _dataSources.Event.publish(_helpers3.EVENT.FINDER, {
162
151
  calendar: undefined
163
152
  });
164
153
  setFetching(true);
165
154
  setResponseError();
166
- const nextParams = {
167
- ...params,
155
+ const urlParams = (0, _helpers2.fetchUrlParams)(location.search);
156
+ const params = {
157
+ ...urlParams,
168
158
  club,
169
- clubDiscount: nextClubDiscount,
170
- currency,
159
+ clubDiscount,
171
160
  id,
172
- locale,
173
- occupation,
161
+ occupation: nextOccupation,
174
162
  place,
175
163
  session
176
164
  };
177
- if (room !== undefined) nextParams.parties = (0, _helpers2.parseToParties)([occupation[room]]);
178
- const nextDataSource = await _services2.ServiceRates.get(nextParams).catch(setResponseError);
165
+ if (room !== undefined) params.parties = (0, _helpers3.parseToParties)([nextOccupation[room || 0]]);
166
+ const nextDataSource = await _services2.ServiceRates.get(params).catch(setResponseError);
179
167
  if (nextDataSource !== null && nextDataSource !== void 0 && nextDataSource.externalSignout) (0, _helpers.signout)({
180
168
  club,
181
169
  language
182
170
  });else setDataSource(nextDataSource);
183
- if (nextDataSource && multiRoom && room === undefined) setRoom(0);
171
+ if (nextDataSource && (nextOccupation === null || nextOccupation === void 0 ? void 0 : nextOccupation.length) > 1 && room === undefined) setRoom(0);
184
172
  setFetching(false);
185
173
  };
186
- const replaceHistory = function () {
187
- let nextParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getNextUrlParams() || {};
188
- let nextCart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cart || [];
189
- if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(function () {
190
- let {
191
- id
192
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
193
- return id;
194
- }));else if (nextParams.rates) nextParams.rates = undefined;
195
- history.replaceState({}, '', (0, _helpers2.toUrlParams)({
196
- ...nextParams,
197
- currency,
198
- lang: language,
199
- locale
200
- }));
174
+ const debounceFetch = (0, _helpers2.debounce)(fetch, 60);
175
+ const saveCartInUrl = function () {
176
+ let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
177
+ // * DISABLED
178
+ (0, _helpers3.replaceUrlParams)({
179
+ rates: cart.length ? JSON.stringify(cart.map(function () {
180
+ let {
181
+ id
182
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
183
+ return id;
184
+ })) : undefined
185
+ });
201
186
  };
202
- const getNextUrlParams = () => (0, _helpers.getFinderParams)({
203
- ...urlParams,
204
- ...finder,
205
- currency,
206
- locale,
207
- hotel
208
- });
209
- const handleFinder = values => {
187
+
188
+ // -- handlers -------------------------------------------------------------------------------------------------------
189
+ const handleClubDiscount = async next => {
190
+ setClubDiscount(next);
191
+ login && setLogin(false);
192
+ };
193
+ const handleFinder = function () {
194
+ let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
210
195
  setCart([]);
211
196
  setDataSource(undefined);
212
- setRoom(undefined);
213
197
  window.scrollTo({
214
198
  top: 0,
215
199
  behavior: 'smooth'
216
200
  });
217
- const params = (0, _helpers.getFinderParams)({
218
- ...urlParams,
201
+ (0, _helpers3.replaceUrlParams)((0, _helpers.getFinderParams)({
219
202
  ...values,
220
- currency,
221
- locale,
222
203
  hotel
223
- });
224
- replaceHistory(params);
225
- };
226
- const handleClubDiscount = async next => {
227
- setCart([]);
228
- setClubDiscount(next);
229
- login && setLogin(false);
230
- await fetch(currency, next, undefined, room);
204
+ }));
205
+ debounceFetch(undefined, values.occupation);
231
206
  };
232
207
  const handleSelect = (board, others) => {
233
208
  const nextCart = [...cart];
@@ -240,7 +215,7 @@ const Rates = _ref => {
240
215
  login && setLogin(false);
241
216
  if (!multiRoom && !!board) handleSubmit(nextCart);
242
217
  if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);
243
- if (!board) replaceHistory(undefined, nextCart);
218
+ if (!board) saveCartInUrl(nextCart);
244
219
  };
245
220
 
246
221
  // eslint-disable-next-line no-unused-vars
@@ -251,7 +226,7 @@ const Rates = _ref => {
251
226
  loginShown = true;
252
227
  return setLogin(true);
253
228
  }
254
- replaceHistory(undefined, cart);
229
+ saveCartInUrl(cart);
255
230
  const {
256
231
  extras = []
257
232
  } = await _services2.ServiceRates.extras({
@@ -260,7 +235,7 @@ const Rates = _ref => {
260
235
  clubDiscount,
261
236
  currency,
262
237
  forwarder,
263
- urlParams: getNextUrlParams()
238
+ urlParams: (0, _helpers2.fetchUrlParams)(location.search)
264
239
  }),
265
240
  hotelCurrency: dataSource.currency,
266
241
  locale
@@ -276,7 +251,6 @@ const Rates = _ref => {
276
251
  const handleCheckout = function () {
277
252
  let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
278
253
  let extras = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
279
- const urlParams = getNextUrlParams();
280
254
  document.location.href = (0, _helpers.getForwarderUrl)({
281
255
  cart,
282
256
  clubDiscount,
@@ -284,7 +258,7 @@ const Rates = _ref => {
284
258
  extras,
285
259
  forwarder,
286
260
  session,
287
- urlParams
261
+ urlParams: (0, _helpers2.fetchUrlParams)(location.search)
288
262
  });
289
263
  };
290
264
  const {
@@ -304,7 +278,7 @@ const Rates = _ref => {
304
278
  ref: refRoomSelector,
305
279
  className: (0, _ui.styles)(style.finder, style.blur, (!multiRoom || responseError) && style.sticky),
306
280
  style: !isMobile ? {
307
- backgroundColor: (0, _helpers2.opacity)(contentBackground, 0.66)
281
+ backgroundColor: (0, _helpers3.opacity)(contentBackground, 0.66)
308
282
  } : undefined
309
283
  }, /*#__PURE__*/_react.default.createElement(_Finder.Finder, {
310
284
  assisted: !isMobile,
@@ -331,11 +305,11 @@ const Rates = _ref => {
331
305
  }, !isMobile && /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, roomSelectorProps)), response ? /*#__PURE__*/_react.default.createElement(_ui.View, {
332
306
  row: !isMobile,
333
307
  className: style.items
334
- }, (_dataSource$items = dataSource.items) === null || _dataSource$items === void 0 ? void 0 : _dataSource$items.map((_ref3, index) => {
308
+ }, (_dataSource$items = dataSource.items) === null || _dataSource$items === void 0 ? void 0 : _dataSource$items.map((_ref2, index) => {
335
309
  let {
336
310
  id,
337
311
  ...item
338
- } = _ref3;
312
+ } = _ref2;
339
313
  return /*#__PURE__*/_react.default.createElement(_components.Item, _extends({
340
314
  key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
341
315
  id