@mirai/core 0.3.200 → 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.
- package/build/Core.js +46 -19
- package/build/Core.js.map +1 -1
- package/build/components/Chat/components/InputRich/InputRich.js +1 -1
- package/build/components/Chat/components/InputRich/InputRich.js.map +1 -1
- package/build/components/Rates/Rates.js +82 -108
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +0 -1
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +3 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js +6 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +13 -7
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -0
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +5 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +3 -2
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +1 -0
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/helpers/getFinderParams.js +3 -8
- package/build/components/Rates/helpers/getFinderParams.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +23 -4
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/helpers/ICON.js +4 -4
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/build/components/helpers/index.js +11 -0
- package/build/components/helpers/index.js.map +1 -1
- package/build/components/helpers/replaceUrlParams.js +18 -0
- package/build/components/helpers/replaceUrlParams.js.map +1 -0
- package/build/helpers/consolidateStore.js +2 -1
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/debounce.js +21 -0
- package/build/helpers/debounce.js.map +1 -0
- package/build/helpers/index.js +11 -0
- package/build/helpers/index.js.map +1 -1
- package/build/services/Rates/get.js +1 -6
- package/build/services/Rates/get.js.map +1 -1
- package/build/services/Rates/helpers/parseBoards.js +1 -1
- package/build/services/Rates/helpers/parseBoards.js.map +1 -1
- package/build/services/Rates/hotels.js +1 -4
- package/build/services/Rates/hotels.js.map +1 -1
- package/package.json +1 -1
- 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
|
|
42
|
+
const handleIntentCurrency = _ref2 => {
|
|
43
43
|
let {
|
|
44
|
-
|
|
44
|
+
currency
|
|
45
45
|
} = _ref2;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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(
|
|
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
|
-
} =
|
|
110
|
+
} = _ref5;
|
|
84
111
|
return !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false');
|
|
85
|
-
}).map((
|
|
112
|
+
}).map((_ref6, index) => {
|
|
86
113
|
let {
|
|
87
114
|
el,
|
|
88
115
|
component,
|
|
89
116
|
...props
|
|
90
|
-
} =
|
|
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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"}
|
|
@@ -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
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
117
|
-
|
|
86
|
+
// Hook: store cart
|
|
87
|
+
// useEffect(() => {
|
|
88
|
+
// if (!storeCart.length || !dataSource || cart.length) return;
|
|
118
89
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
|
124
|
-
|
|
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
|
-
|
|
142
|
-
replaceHistory();
|
|
131
|
+
debounceFetch(room);
|
|
143
132
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
144
|
-
}, [
|
|
133
|
+
}, [room]);
|
|
145
134
|
(0, _react.useEffect)(() => {
|
|
146
135
|
if (!dataSource || room) return;
|
|
147
136
|
(0, _helpers.trackDataSource)({
|
|
148
137
|
...dataSource,
|
|
149
|
-
...
|
|
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
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
let
|
|
160
|
-
if (skeleton
|
|
161
|
-
_dataSources.Event.publish(
|
|
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
|
|
167
|
-
|
|
155
|
+
const urlParams = (0, _helpers2.fetchUrlParams)(location.search);
|
|
156
|
+
const params = {
|
|
157
|
+
...urlParams,
|
|
168
158
|
club,
|
|
169
|
-
clubDiscount
|
|
170
|
-
currency,
|
|
159
|
+
clubDiscount,
|
|
171
160
|
id,
|
|
172
|
-
|
|
173
|
-
occupation,
|
|
161
|
+
occupation: nextOccupation,
|
|
174
162
|
place,
|
|
175
163
|
session
|
|
176
164
|
};
|
|
177
|
-
if (room !== undefined)
|
|
178
|
-
const nextDataSource = await _services2.ServiceRates.get(
|
|
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 &&
|
|
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
|
|
187
|
-
|
|
188
|
-
let
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
-
|
|
218
|
-
...urlParams,
|
|
201
|
+
(0, _helpers3.replaceUrlParams)((0, _helpers.getFinderParams)({
|
|
219
202
|
...values,
|
|
220
|
-
currency,
|
|
221
|
-
locale,
|
|
222
203
|
hotel
|
|
223
|
-
});
|
|
224
|
-
|
|
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)
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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((
|
|
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
|
-
} =
|
|
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
|