@mirai/core 0.4.190 → 0.4.192

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 (28) hide show
  1. package/build/components/Chat/Chat.Header.js +39 -13
  2. package/build/components/Chat/Chat.Header.js.map +1 -1
  3. package/build/components/Chat/Chat.js +39 -17
  4. package/build/components/Chat/Chat.js.map +1 -1
  5. package/build/components/Chat/Chat.module.css +6 -2
  6. package/build/components/Chat/components/Message/Message.Action.js +1 -2
  7. package/build/components/Chat/components/Message/Message.Action.js.map +1 -1
  8. package/build/components/Chat/components/Message/Message.js +3 -1
  9. package/build/components/Chat/components/Message/Message.js.map +1 -1
  10. package/build/components/Chat/components/Message/Message.module.css +4 -0
  11. package/build/components/Chat/helpers/getVerboseDate.js +1 -1
  12. package/build/components/Chat/helpers/getVerboseDate.js.map +1 -1
  13. package/build/components/Finder/Finder.compact.js +1 -1
  14. package/build/components/Finder/Finder.compact.js.map +1 -1
  15. package/build/components/Rates/Rates.Footer.js +6 -5
  16. package/build/components/Rates/Rates.Footer.js.map +1 -1
  17. package/build/components/Rates/Rates.Unavailability.js +1 -1
  18. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  19. package/build/components/Rates/Rates.js +16 -2
  20. package/build/components/Rates/Rates.js.map +1 -1
  21. package/build/components/Rates/components/Item/Item.Rates.js +5 -3
  22. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  23. package/build/components/__shared__/BookingDates/BookingDates.js +1 -1
  24. package/build/components/__shared__/BookingDates/BookingDates.js.map +1 -1
  25. package/build/components/helpers/getCalendarCaption.js +1 -1
  26. package/build/components/helpers/getCalendarCaption.js.map +1 -1
  27. package/build/theme.css +1 -1
  28. package/package.json +1 -1
@@ -28,10 +28,26 @@ const Header = _ref => {
28
28
  dateFormat,
29
29
  translate
30
30
  } = (0, _locale.useLocale)();
31
- const hasDates = !!checkin && !!checkout;
31
+
32
+ // ! TODO: Change <Finder> with <Chat> values
33
+ // const { set, value: { finder: storeFinder } = {} } = useStore();
34
+
35
+ // useEffect(() => {
36
+ // if (!visible) return;
37
+ // const nextFinder = {};
38
+
39
+ // if (checkin) nextFinder.calendar = [parseDate(checkin), parseDate(checkout)];
40
+ // if (occupation.length > 0) nextFinder.occupation = [occupation];
41
+
42
+ // if (JSON.stringify(storeFinder) !== JSON.stringify({ ...storeFinder, ...nextFinder })) {
43
+ // console.log('<Chat.Header>::effect', { storeFinder, nextFinder });
44
+ // set({ finder: { ...storeFinder, ...nextFinder } });
45
+ // }
46
+ // // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ // }, [checkin, storeFinder, occupation, visible]);
48
+
49
+ const hasDates = !!checkin;
32
50
  const hasOccupation = occupation.length > 0;
33
- const dateCheckin = (0, _locale.parseDate)(checkin);
34
- const dateCheckout = (0, _locale.parseDate)(checkout);
35
51
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
36
52
  className: (0, _ui.styles)(style.header, hasDates || hasOccupation)
37
53
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -63,14 +79,16 @@ const Header = _ref => {
63
79
  })))), (hasDates || hasOccupation) && /*#__PURE__*/_react.default.createElement(_ui.View, {
64
80
  row: true,
65
81
  className: style.form
66
- }, hasDates && [dateCheckin, dateCheckout].map((date, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
82
+ }, hasDates && [(0, _locale.parseDate)(checkin), checkout ? (0, _locale.parseDate)(checkout) : undefined].filter(date => !!date).map((date, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
67
83
  key: "date:".concat(index),
68
84
  row: true,
69
85
  className: style.field
70
- }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
86
+ }, index === 0 && /*#__PURE__*/_react.default.createElement(_ui.Icon, {
87
+ light: true,
88
+ value: _helpers.ICON.CALENDAR
89
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
71
90
  bold: true,
72
- capitalize: true,
73
- headline: true
91
+ capitalize: true
74
92
  }, dateFormat(date, {
75
93
  weekday: 'long'
76
94
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
@@ -79,11 +97,18 @@ const Header = _ref => {
79
97
  }, dateFormat(date, {
80
98
  day: 'numeric',
81
99
  month: 'long'
82
- }))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
83
- light: true
84
- }, '>'))), hasOccupation && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
85
- bold: true,
86
- headline: true
100
+ }))), (index === 0 && checkout || index === 1 && hasOccupation) && /*#__PURE__*/_react.default.createElement(_ui.Text, {
101
+ light: true,
102
+ headline: true,
103
+ className: index === 1 && hasOccupation ? style.anchor : undefined
104
+ }, index === 0 ? '—' : '>'))), hasOccupation && /*#__PURE__*/_react.default.createElement(_ui.View, {
105
+ row: true,
106
+ className: style.field
107
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
108
+ light: true,
109
+ value: _helpers.ICON.PEOPLE
110
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
111
+ bold: true
87
112
  }, occupation.map(function () {
88
113
  let {
89
114
  amount,
@@ -93,7 +118,7 @@ const Header = _ref => {
93
118
  }).join(' + ')), /*#__PURE__*/_react.default.createElement(_ui.Text, {
94
119
  small: true,
95
120
  light: true
96
- }, translate(_Chat.L10N.LABEL_WHO)))));
121
+ }, translate(_Chat.L10N.LABEL_WHO))))));
97
122
  };
98
123
  exports.Header = Header;
99
124
  Header.displayName = 'Mirai:Core:Chat.Header';
@@ -103,6 +128,7 @@ Header.propTypes = {
103
128
  occupation: _propTypes.default.arrayOf(_propTypes.default.any)
104
129
  }),
105
130
  online: _propTypes.default.bool,
131
+ visible: _propTypes.default.bool,
106
132
  onClose: _propTypes.default.func
107
133
  };
108
134
  //# sourceMappingURL=Chat.Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.Header.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_Chat","style","_interopRequireWildcard","_components","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Header","_ref","form","dates","checkin","checkout","occupation","online","onClose","dateFormat","translate","useLocale","hasDates","hasOccupation","length","dateCheckin","parseDate","dateCheckout","createElement","View","className","styles","header","row","content","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","value","ICON","CLOSE","map","date","index","key","concat","field","capitalize","headline","weekday","day","month","amount","ages","arguments","undefined","join","LABEL_WHO","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","any","bool","func"],"sources":["../../../src/components/Chat/Chat.Header.js"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar } from './components';\nimport { ICON } from '../helpers';\n\nconst Header = ({\n form: { dates: [checkin, checkout] = [], occupation: [occupation = []] = [] } = {},\n online,\n onClose,\n}) => {\n const { dateFormat, translate } = useLocale();\n\n const hasDates = !!checkin && !!checkout;\n const hasOccupation = occupation.length > 0;\n const dateCheckin = parseDate(checkin);\n const dateCheckout = parseDate(checkout);\n\n return (\n <View className={styles(style.header, hasDates || hasOccupation)}>\n <View row className={style.content}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n <Button small squared tooltip={translate(L10N.ACTION_CLOSE)} transparent onPress={onClose}>\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n {(hasDates || hasOccupation) && (\n <View row className={style.form}>\n {hasDates &&\n [dateCheckin, dateCheckout].map((date, index) => (\n <View key={`date:${index}`} row className={style.field}>\n <View>\n <Text bold capitalize headline>\n {dateFormat(date, { weekday: 'long' })}\n </Text>\n <Text small light>\n {dateFormat(date, { day: 'numeric', month: 'long' })}\n </Text>\n </View>\n\n <Text light>{'>'}</Text>\n </View>\n ))}\n\n {hasOccupation && (\n <View>\n <Text bold headline>\n {occupation.map(({ amount, ages = [] } = {}) => amount || ages.length).join(' + ')}\n </Text>\n <Text small light>\n {translate(L10N.LABEL_WHO)}\n </Text>\n </View>\n )}\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Chat.Header';\n\nHeader.propTypes = {\n form: PropTypes.shape({\n dates: PropTypes.arrayOf(PropTypes.string),\n occupation: PropTypes.arrayOf(PropTypes.any),\n }),\n online: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.Header.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_Chat","style","_interopRequireWildcard","_components","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Header","_ref","form","dates","checkin","checkout","occupation","online","onClose","dateFormat","translate","useLocale","hasDates","hasOccupation","length","createElement","View","className","styles","header","row","content","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","value","ICON","CLOSE","parseDate","undefined","filter","date","map","index","key","concat","field","CALENDAR","capitalize","weekday","day","month","headline","anchor","PEOPLE","amount","ages","arguments","join","LABEL_WHO","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","any","bool","visible","func"],"sources":["../../../src/components/Chat/Chat.Header.js"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar } from './components';\nimport { ICON } from '../helpers';\n\nconst Header = ({\n form: { dates: [checkin, checkout] = [], occupation: [occupation = []] = [] } = {},\n online,\n onClose,\n}) => {\n const { dateFormat, translate } = useLocale();\n\n // ! TODO: Change <Finder> with <Chat> values\n // const { set, value: { finder: storeFinder } = {} } = useStore();\n\n // useEffect(() => {\n // if (!visible) return;\n // const nextFinder = {};\n\n // if (checkin) nextFinder.calendar = [parseDate(checkin), parseDate(checkout)];\n // if (occupation.length > 0) nextFinder.occupation = [occupation];\n\n // if (JSON.stringify(storeFinder) !== JSON.stringify({ ...storeFinder, ...nextFinder })) {\n // console.log('<Chat.Header>::effect', { storeFinder, nextFinder });\n // set({ finder: { ...storeFinder, ...nextFinder } });\n // }\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [checkin, storeFinder, occupation, visible]);\n\n const hasDates = !!checkin;\n const hasOccupation = occupation.length > 0;\n\n return (\n <View className={styles(style.header, hasDates || hasOccupation)}>\n <View row className={style.content}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n <Button small squared tooltip={translate(L10N.ACTION_CLOSE)} transparent onPress={onClose}>\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n {(hasDates || hasOccupation) && (\n <View row className={style.form}>\n {hasDates &&\n [parseDate(checkin), checkout ? parseDate(checkout) : undefined]\n .filter((date) => !!date)\n .map((date, index) => (\n <View key={`date:${index}`} row className={style.field}>\n {index === 0 && <Icon light value={ICON.CALENDAR} />}\n <View>\n <Text bold capitalize>\n {dateFormat(date, { weekday: 'long' })}\n </Text>\n <Text small light>\n {dateFormat(date, { day: 'numeric', month: 'long' })}\n </Text>\n </View>\n\n {((index === 0 && checkout) || (index === 1 && hasOccupation)) && (\n <Text light headline className={index === 1 && hasOccupation ? style.anchor : undefined}>\n {index === 0 ? '—' : '>'}\n </Text>\n )}\n </View>\n ))}\n\n {hasOccupation && (\n <View row className={style.field}>\n <Icon light value={ICON.PEOPLE} />\n <View>\n <Text bold>{occupation.map(({ amount, ages = [] } = {}) => amount || ages.length).join(' + ')}</Text>\n <Text small light>\n {translate(L10N.LABEL_WHO)}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Chat.Header';\n\nHeader.propTypes = {\n form: PropTypes.shape({\n dates: PropTypes.arrayOf(PropTypes.string),\n occupation: PropTypes.arrayOf(PropTypes.any),\n }),\n online: PropTypes.bool,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -49,12 +49,11 @@ const Chat = _ref => {
49
49
  }
50
50
  } = (0, _dataSources.useStore)();
51
51
  const [busy, setBusy] = (0, _react.useState)(false);
52
- const [messages, setMessages] = (0, _react.useState)((storage.get((0, _helpers.getStorageDomain)(components)) || []).map(item => ({
53
- ...item,
54
- storage: true
55
- })));
52
+ const [, setError] = (0, _react.useState)();
53
+ const [messages, setMessages] = (0, _react.useState)([]);
56
54
  const [online, setOnline] = (0, _react.useState)(false);
57
- const [visible, setVisible] = (0, _react.useState)(true);
55
+ const [previousMessages] = (0, _react.useState)(storage.get((0, _helpers.getStorageDomain)(components)) || []);
56
+ const [visible, setVisible] = (0, _react.useState)(false);
58
57
  (0, _react.useEffect)(() => {
59
58
  if (skeleton) return;
60
59
  (async () => {
@@ -76,7 +75,19 @@ const Chat = _ref => {
76
75
  // eslint-disable-next-line react-hooks/exhaustive-deps
77
76
  }, [skeleton]);
78
77
  (0, _react.useEffect)(() => {
79
- storage.set((0, _helpers.getStorageDomain)(components), (messages === null || messages === void 0 ? void 0 : messages.slice(-32)) || []);
78
+ const nextStoreMessages = [...previousMessages, ...messages].filter(function () {
79
+ let {
80
+ auto = false,
81
+ intent,
82
+ text
83
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
84
+ return !auto && text || !!intent;
85
+ }).slice(-32).map(item => ({
86
+ ...item,
87
+ storage: true
88
+ }));
89
+ storage.set((0, _helpers.getStorageDomain)(components), nextStoreMessages);
90
+ // eslint-disable-next-line react-hooks/exhaustive-deps
80
91
  }, [components, messages]);
81
92
  (0, _react.useEffect)(() => {
82
93
  if (!visible) return clearInterval(connectionInterval);
@@ -131,11 +142,17 @@ const Chat = _ref => {
131
142
  }];
132
143
  setMessages(nextMessages);
133
144
  setTimeout(async () => {
134
- var _messages, _messages$response;
145
+ var _messages$filter$slic, _messages$filter$slic2;
135
146
  setBusy(true);
147
+ const currentForm = (_messages$filter$slic = messages.filter(_ref4 => {
148
+ let {
149
+ storage
150
+ } = _ref4;
151
+ return !storage;
152
+ }).slice(-1)[0]) === null || _messages$filter$slic === void 0 ? void 0 : (_messages$filter$slic2 = _messages$filter$slic.response) === null || _messages$filter$slic2 === void 0 ? void 0 : _messages$filter$slic2.form;
136
153
  storeContext = {
137
154
  ...storeContext,
138
- form: (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : (_messages$response = _messages.response) === null || _messages$response === void 0 ? void 0 : _messages$response.form
155
+ form: currentForm
139
156
  };
140
157
  const response = await _services.ServiceLisa.message({
141
158
  context: storeContext,
@@ -173,11 +190,6 @@ const Chat = _ref => {
173
190
  setBusy(false);
174
191
  }, _Chat2.DELAY_RESPONSE);
175
192
  };
176
- const handleError = error => {
177
- // eslint-disable-next-line no-console
178
- console.error('::handleError::', error);
179
- setOnline(false);
180
- };
181
193
  const handleRetry = async () => {
182
194
  setBusy(true);
183
195
  const nextMessages = [...messages];
@@ -202,6 +214,10 @@ const Chat = _ref => {
202
214
  if (response) addMessage(response, nextMessages, true);
203
215
  setBusy(false);
204
216
  };
217
+ const handleError = error => {
218
+ setError(error);
219
+ setOnline(false);
220
+ };
205
221
  const addMessage = function () {
206
222
  let response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
207
223
  let messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -223,7 +239,12 @@ const Chat = _ref => {
223
239
  response: {
224
240
  form
225
241
  } = {}
226
- } = messages.filter(message => message.auto).pop() || [];
242
+ } = messages.filter(function () {
243
+ let {
244
+ auto = false
245
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
246
+ return auto;
247
+ }).pop() || [];
227
248
  return !skeleton ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(isMobile ? _ui.Modal : _ui.View, isMobile ? {
228
249
  ...others,
229
250
  visible,
@@ -235,18 +256,19 @@ const Chat = _ref => {
235
256
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Chat3.Header, {
236
257
  form,
237
258
  online,
259
+ visible,
238
260
  onClose: () => setVisible(false)
239
261
  }), /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
240
262
  scrollTo: new Date().getTime(),
241
263
  snap: false,
242
264
  className: style.messages
243
- }, messages.map((message, index) => {
244
- var _messages2;
265
+ }, [...previousMessages, ...messages].map((message, index) => {
266
+ var _messages;
245
267
  return /*#__PURE__*/_react.default.createElement(_components.Message, _extends({}, message, {
246
268
  key: "message:".concat(index),
247
269
  disabled: busy || index < messages.length - 1,
248
270
  onAction: handleAction,
249
- onRetry: index === messages.length - 1 && (_messages2 = messages[index - 1]) !== null && _messages2 !== void 0 && _messages2.text ? handleRetry : undefined
271
+ onRetry: index === messages.length - 1 && (_messages = messages[index - 1]) !== null && _messages !== void 0 && _messages.text ? handleRetry : undefined
250
272
  }));
251
273
  }), busy && /*#__PURE__*/_react.default.createElement(_components.Message, {
252
274
  auto: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_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","storage","Storage","adapter","LocalAdapter","cache","CHAT_STORAGE_CACHE","connectionInterval","Chat","_ref","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","skeleton","tags","type","useStore","busy","setBusy","useState","messages","setMessages","getStorageDomain","map","item","online","setOnline","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","lisa","slice","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","_ref3","form","finder","rates","next","status","handleInput","input","nextMessages","timestamp","Date","getTime","setTimeout","_messages","_messages$response","message","DELAY_RESPONSE","handleAction","undefined","Event","publish","EVENT","LOGIN","nextContext","action","error","console","handleRetry","pop","notify","auto","INTENT_LOCALE","audioNotification","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","scrollTo","snap","index","_messages2","Message","concat","disabled","onAction","onRetry","Input","onValue","InputRich","ButtonAvatar","ready","onPress","exports","displayName","propTypes","name","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { CHAT_STORAGE_CACHE, DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification, getStorageDomain } from './helpers';\nimport { EVENT } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: CHAT_STORAGE_CACHE });\nlet connectionInterval;\n\nconst Chat = ({ ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, skeleton = false, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState(\n (storage.get(getStorageDomain(components)) || []).map((item) => ({ ...item, storage: true })),\n );\n const [online, setOnline] = useState(false);\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) {\n if (!messages.length) return addMessage(response, messages);\n set({ lisa: messages[messages.length - 1] });\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n storage.set(getStorageDomain(components), messages?.slice(-32) || []);\n }, [components, messages]);\n\n useEffect(() => {\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n let storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n storeContext = { ...storeContext, form: messages[messages.length - 1]?.response?.form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, messages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter((message) => message.auto).pop() || [];\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ form, online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n onRetry={index === messages.length - 1 && messages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar ready={!!messages.length} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_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","storage","Storage","adapter","LocalAdapter","cache","CHAT_STORAGE_CACHE","connectionInterval","Chat","_ref","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","skeleton","tags","type","useStore","busy","setBusy","useState","setError","messages","setMessages","online","setOnline","previousMessages","getStorageDomain","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","lisa","nextStoreMessages","filter","auto","intent","text","undefined","slice","map","item","clearInterval","setInterval","storeContext","_ref2","_ref3","form","finder","rates","next","status","handleInput","input","nextMessages","timestamp","Date","getTime","setTimeout","_messages$filter$slic","_messages$filter$slic2","currentForm","_ref4","message","DELAY_RESPONSE","handleAction","Event","publish","EVENT","LOGIN","nextContext","action","handleRetry","pop","error","notify","INTENT_LOCALE","audioNotification","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","scrollTo","snap","index","_messages","Message","concat","disabled","onAction","onRetry","Input","onValue","InputRich","ButtonAvatar","ready","onPress","exports","displayName","propTypes","name","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { CHAT_STORAGE_CACHE, DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification, getStorageDomain } from './helpers';\nimport { EVENT } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: CHAT_STORAGE_CACHE });\nlet connectionInterval;\n\nconst Chat = ({ ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, skeleton = false, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [, setError] = useState();\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [previousMessages] = useState(storage.get(getStorageDomain(components)) || []);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) {\n if (!messages.length) return addMessage(response, messages);\n set({ lisa: messages[messages.length - 1] });\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n const nextStoreMessages = [...previousMessages, ...messages]\n .filter(({ auto = false, intent, text } = {}) => (!auto && text) || !!intent)\n .slice(-32)\n .map((item) => ({\n ...item,\n storage: true,\n }));\n\n storage.set(getStorageDomain(components), nextStoreMessages);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [components, messages]);\n\n useEffect(() => {\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n let storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const currentForm = messages.filter(({ storage }) => !storage).slice(-1)[0]?.response?.form;\n\n storeContext = { ...storeContext, form: currentForm };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, messages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const handleError = (error) => {\n setError(error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter(({ auto = false } = {}) => auto).pop() || [];\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ form, online, visible }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {[...previousMessages, ...messages].map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n onRetry={index === messages.length - 1 && messages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar ready={!!messages.length} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  position: fixed;
14
14
  transition: height var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
15
15
  width: 100%;
16
- z-index: 0;
16
+ z-index: 1;
17
17
  }
18
18
 
19
19
  .header .bullet {
@@ -47,7 +47,11 @@
47
47
 
48
48
  .header .form,
49
49
  .header .field {
50
- gap: calc(var(--mirai-chat-space) / 1);
50
+ gap: calc(var(--mirai-chat-space) / 2);
51
+ }
52
+
53
+ .header .anchor {
54
+ padding: 0 calc(var(--mirai-chat-space) / 4);
51
55
  }
52
56
 
53
57
  /* -------------------------------------------------------------------------- */
@@ -109,7 +109,7 @@ const Action = _ref => {
109
109
  } = _ref3;
110
110
  return name;
111
111
  }).join(' + ') : props.caption;
112
- const text = type === 'calendar' ? "".concat(dateFormat((0, _locale.parseDate)(value.from), DATE_FORMAT), " \u2500 ").concat(dateFormat((0, _locale.parseDate)(value.to), DATE_FORMAT)) : type === 'occupation' ? "".concat(value.rooms.length, " ").concat((0, _helpers2.getAccommodationLabel)({
112
+ const text = type === 'calendar' ? "".concat(dateFormat((0, _locale.parseDate)(value.from), DATE_FORMAT), " \u2014 ").concat(dateFormat((0, _locale.parseDate)(value.to), DATE_FORMAT)) : type === 'occupation' ? "".concat(value.rooms.length, " ").concat((0, _helpers2.getAccommodationLabel)({
113
113
  plural: value.rooms.length > 1,
114
114
  type: accommodationType
115
115
  }, translate)) : props.text;
@@ -118,7 +118,6 @@ const Action = _ref => {
118
118
  disabled,
119
119
  image,
120
120
  text,
121
- disabled: intent && disabled,
122
121
  href: url,
123
122
  icon: (0, _helpers.getActionIcon)(url),
124
123
  option: !image && !disabled && !url,
@@ -1 +1 @@
1
- {"version":3,"file":"Message.Action.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_components","_helpers","_helpers2","_Chat","obj","__esModule","default","DATE_FORMAT","weekday","month","day","Action","_ref","disabled","intent","image","requirement","type","url","value","onPress","onResponse","props","dateFormat","translate","useLocale","hotel","accommodationType","lisa","useStore","handlePress","context","response","form","text","name","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","nextForm","dates","from","to","occupation","rooms","map","_ref2","offerId","caption","_ref3","join","concat","parseDate","length","getAccommodationLabel","plural","createElement","Card","href","icon","getActionIcon","option","undefined","exports","propTypes","PropTypes","string","bool","shape","required","oneOf","any","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.Action.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card } from './components';\nimport { getActionIcon } from './helpers';\nimport { getAccommodationLabel } from '../../../helpers';\nimport { EVENT } from '../../Chat.constants';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Action = ({ disabled, intent, image, requirement, type, url, value, onPress, onResponse, ...props }) => {\n const { dateFormat, translate } = useLocale();\n const {\n value: { hotel: { accommodationType } = {}, lisa },\n } = useStore();\n\n const handlePress = () => {\n if (intent) return onPress({ intent, context: value });\n else if (requirement) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n if (requirement.value) {\n onResponse({ text, value: requirement.value });\n onPress({\n context,\n intent,\n form: { ...form, [requirement.name]: requirement.value },\n });\n } else Event.publish(EVENT.INPUT_COMPONENT, { requirement, onSubmit: onResponse });\n } else if (type && value) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n\n const nextForm = { ...form };\n if (type === 'calendar') nextForm.dates = [value.from, value.to];\n else if (type === 'occupation') nextForm.occupation = value.rooms.map(({ occupation }) => occupation);\n else if (type === 'offer') nextForm.offerId = value;\n\n onResponse({ image, caption, text });\n onPress({ context, intent, form: nextForm });\n }\n };\n\n const caption = type === 'occupation' ? value.rooms.map(({ name }) => name).join(' + ') : props.caption;\n const text =\n type === 'calendar'\n ? `${dateFormat(parseDate(value.from), DATE_FORMAT)} ${dateFormat(parseDate(value.to), DATE_FORMAT)}`\n : type === 'occupation'\n ? `${value.rooms.length} ${getAccommodationLabel(\n { plural: value.rooms.length > 1, type: accommodationType },\n translate,\n )}`\n : props.text;\n\n return (\n <Card\n {...{ caption, disabled, image, text }}\n disabled={intent && disabled}\n href={url}\n icon={getActionIcon(url)}\n option={!image && !disabled && !url}\n onPress={!disabled ? handlePress : undefined}\n />\n );\n};\n\nAction.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n image: PropTypes.string,\n intent: PropTypes.string,\n requirement: PropTypes.shape({\n name: PropTypes.string,\n required: PropTypes.bool,\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'list', 'occupation', 'offer', 'text']),\n value: PropTypes.any,\n }),\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'occupation', 'offer']),\n url: PropTypes.string,\n value: PropTypes.any,\n onPress: PropTypes.func,\n onResponse: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Message.Action.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_components","_helpers","_helpers2","_Chat","obj","__esModule","default","DATE_FORMAT","weekday","month","day","Action","_ref","disabled","intent","image","requirement","type","url","value","onPress","onResponse","props","dateFormat","translate","useLocale","hotel","accommodationType","lisa","useStore","handlePress","context","response","form","text","name","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","nextForm","dates","from","to","occupation","rooms","map","_ref2","offerId","caption","_ref3","join","concat","parseDate","length","getAccommodationLabel","plural","createElement","Card","href","icon","getActionIcon","option","undefined","exports","propTypes","PropTypes","string","bool","shape","required","oneOf","any","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.Action.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card } from './components';\nimport { getActionIcon } from './helpers';\nimport { getAccommodationLabel } from '../../../helpers';\nimport { EVENT } from '../../Chat.constants';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Action = ({ disabled, intent, image, requirement, type, url, value, onPress, onResponse, ...props }) => {\n const { dateFormat, translate } = useLocale();\n const {\n value: { hotel: { accommodationType } = {}, lisa },\n } = useStore();\n\n const handlePress = () => {\n if (intent) return onPress({ intent, context: value });\n else if (requirement) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n if (requirement.value) {\n onResponse({ text, value: requirement.value });\n onPress({\n context,\n intent,\n form: { ...form, [requirement.name]: requirement.value },\n });\n } else Event.publish(EVENT.INPUT_COMPONENT, { requirement, onSubmit: onResponse });\n } else if (type && value) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n\n const nextForm = { ...form };\n if (type === 'calendar') nextForm.dates = [value.from, value.to];\n else if (type === 'occupation') nextForm.occupation = value.rooms.map(({ occupation }) => occupation);\n else if (type === 'offer') nextForm.offerId = value;\n\n onResponse({ image, caption, text });\n onPress({ context, intent, form: nextForm });\n }\n };\n\n const caption = type === 'occupation' ? value.rooms.map(({ name }) => name).join(' + ') : props.caption;\n const text =\n type === 'calendar'\n ? `${dateFormat(parseDate(value.from), DATE_FORMAT)} ${dateFormat(parseDate(value.to), DATE_FORMAT)}`\n : type === 'occupation'\n ? `${value.rooms.length} ${getAccommodationLabel(\n { plural: value.rooms.length > 1, type: accommodationType },\n translate,\n )}`\n : props.text;\n\n return (\n <Card\n {...{ caption, disabled, image, text }}\n href={url}\n icon={getActionIcon(url)}\n option={!image && !disabled && !url}\n onPress={!disabled ? handlePress : undefined}\n />\n );\n};\n\nAction.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n image: PropTypes.string,\n intent: PropTypes.string,\n requirement: PropTypes.shape({\n name: PropTypes.string,\n required: PropTypes.bool,\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'list', 'occupation', 'offer', 'text']),\n value: PropTypes.any,\n }),\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'occupation', 'offer']),\n url: PropTypes.string,\n value: PropTypes.any,\n onPress: PropTypes.func,\n onResponse: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":"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"}
@@ -25,6 +25,7 @@ const Message = _ref => {
25
25
  busy = false,
26
26
  intent,
27
27
  response = {},
28
+ storage = false,
28
29
  text,
29
30
  timestamp,
30
31
  onRetry,
@@ -54,7 +55,7 @@ const Message = _ref => {
54
55
  }, (0, _helpers.getTime)(timestamp)), /*#__PURE__*/_react.default.createElement(_ui.View, {
55
56
  row: true,
56
57
  wide: true,
57
- className: (0, _ui.styles)(style.message, auto && style.auto)
58
+ className: (0, _ui.styles)(style.message, auto && style.auto, storage && style.storage)
58
59
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
59
60
  className: (0, _ui.styles)(style.content, auto && style.auto, busy && style.busy)
60
61
  }, !busy && auto && intent && urlParams.lisa === 'environment' && /*#__PURE__*/_react.default.createElement(_components.Environment, _extends({
@@ -100,6 +101,7 @@ Message.propTypes = {
100
101
  text: _propTypes.default.string,
101
102
  value: _propTypes.default.oneOf([_propTypes.default.array, _propTypes.default.shape({})])
102
103
  }),
104
+ storage: _propTypes.default.bool,
103
105
  text: _propTypes.default.string,
104
106
  timestamp: _propTypes.default.number,
105
107
  onAction: _propTypes.default.func,
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Message","_Message2","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","Message","_ref","auto","busy","intent","response","text","timestamp","onRetry","others","value","urlParams","useStore","cardResponse","setCardResponse","useState","actions","disabled","testId","onAction","createElement","View","wide","Text","light","small","className","getTime","row","styles","message","content","lisa","Environment","spinner","INTENT","React","action","Card","option","Fragment","map","index","Action","concat","onPress","onResponse","Tooltip","Pressable","Icon","_paragraph","ICON","REFRESH","exports","propTypes","PropTypes","bool","string","shape","arrayOf","requirements","oneOf","array","number","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Icon, Pressable, styles, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { Card, Environment } from './components';\nimport { getTime } from './helpers';\nimport { Action } from './Message.Action';\nimport { INTENT } from './Message.constants';\nimport * as style from './Message.module.css';\nimport { ICON } from '../../../helpers';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({ auto, busy = false, intent, response = {}, text, timestamp, onRetry, ...others }) => {\n const { value: { urlParams = {} } = {} } = useStore();\n\n const [cardResponse, setCardResponse] = useState();\n\n const { actions = [] } = response;\n const { disabled, testId, onAction } = others;\n\n return (\n <View testId={testId} wide>\n {timestamp && (\n <Text light small className={style.timestamp}>\n {getTime(timestamp)}\n </Text>\n )}\n <View row wide className={styles(style.message, auto && style.auto)}>\n <View className={styles(style.content, auto && style.auto, busy && style.busy)}>\n {!busy && auto && intent && urlParams.lisa === 'environment' && (\n <Environment {...{ intent, ...others, ...response }} />\n )}\n\n {busy ? (\n <View className={style.spinner} />\n ) : INTENT[intent] ? (\n React.createElement(INTENT[intent], { intent, response, ...others })\n ) : text || response.text ? (\n <Text action className={style.text}>\n {text || response.text}\n </Text>\n ) : null}\n\n {cardResponse ? (\n <Card disabled={disabled} option={false} {...cardResponse} />\n ) : (\n <>\n {actions.map((action, index) => (\n <Action\n {...action}\n key={`chat.message:action:${index}`}\n disabled={disabled}\n onPress={onAction}\n onResponse={setCardResponse}\n />\n ))}\n </>\n )}\n </View>\n\n {onRetry && auto && (\n <View className={style.actions}>\n <Tooltip text=\"Retry\">\n <Pressable onPress={onRetry}>\n <Icon light _paragraph value={ICON.REFRESH} />\n </Pressable>\n </Tooltip>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nMessage.propTypes = {\n auto: PropTypes.bool,\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n intent: PropTypes.string,\n response: PropTypes.shape({\n actions: PropTypes.arrayOf(PropTypes.shape({})),\n requirements: PropTypes.shape({}),\n text: PropTypes.string,\n value: PropTypes.oneOf([PropTypes.array, PropTypes.shape({})]),\n }),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n onAction: PropTypes.func,\n onRetry: PropTypes.func,\n};\n\nexport { Message };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Message","_Message2","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","Message","_ref","auto","busy","intent","response","storage","text","timestamp","onRetry","others","value","urlParams","useStore","cardResponse","setCardResponse","useState","actions","disabled","testId","onAction","createElement","View","wide","Text","light","small","className","getTime","row","styles","message","content","lisa","Environment","spinner","INTENT","React","action","Card","option","Fragment","map","index","Action","concat","onPress","onResponse","Tooltip","Pressable","Icon","_paragraph","ICON","REFRESH","exports","propTypes","PropTypes","bool","string","shape","arrayOf","requirements","oneOf","array","number","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Icon, Pressable, styles, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { Card, Environment } from './components';\nimport { getTime } from './helpers';\nimport { Action } from './Message.Action';\nimport { INTENT } from './Message.constants';\nimport * as style from './Message.module.css';\nimport { ICON } from '../../../helpers';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({\n auto,\n busy = false,\n intent,\n response = {},\n storage = false,\n text,\n timestamp,\n onRetry,\n ...others\n}) => {\n const { value: { urlParams = {} } = {} } = useStore();\n\n const [cardResponse, setCardResponse] = useState();\n\n const { actions = [] } = response;\n const { disabled, testId, onAction } = others;\n\n return (\n <View testId={testId} wide>\n {timestamp && (\n <Text light small className={style.timestamp}>\n {getTime(timestamp)}\n </Text>\n )}\n <View row wide className={styles(style.message, auto && style.auto, storage && style.storage)}>\n <View className={styles(style.content, auto && style.auto, busy && style.busy)}>\n {!busy && auto && intent && urlParams.lisa === 'environment' && (\n <Environment {...{ intent, ...others, ...response }} />\n )}\n\n {busy ? (\n <View className={style.spinner} />\n ) : INTENT[intent] ? (\n React.createElement(INTENT[intent], { intent, response, ...others })\n ) : text || response.text ? (\n <Text action className={style.text}>\n {text || response.text}\n </Text>\n ) : null}\n\n {cardResponse ? (\n <Card disabled={disabled} option={false} {...cardResponse} />\n ) : (\n <>\n {actions.map((action, index) => (\n <Action\n {...action}\n key={`chat.message:action:${index}`}\n disabled={disabled}\n onPress={onAction}\n onResponse={setCardResponse}\n />\n ))}\n </>\n )}\n </View>\n\n {onRetry && auto && (\n <View className={style.actions}>\n <Tooltip text=\"Retry\">\n <Pressable onPress={onRetry}>\n <Icon light _paragraph value={ICON.REFRESH} />\n </Pressable>\n </Tooltip>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nMessage.propTypes = {\n auto: PropTypes.bool,\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n intent: PropTypes.string,\n response: PropTypes.shape({\n actions: PropTypes.arrayOf(PropTypes.shape({})),\n requirements: PropTypes.shape({}),\n text: PropTypes.string,\n value: PropTypes.oneOf([PropTypes.array, PropTypes.shape({})]),\n }),\n storage: PropTypes.bool,\n text: PropTypes.string,\n timestamp: PropTypes.number,\n onAction: PropTypes.func,\n onRetry: PropTypes.func,\n};\n\nexport { Message };\n"],"mappings":"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"}
@@ -19,6 +19,10 @@
19
19
  justify-content: left;
20
20
  }
21
21
 
22
+ .message.storage {
23
+ opacity: 0.66;
24
+ }
25
+
22
26
  .message:not(.auto) {
23
27
  justify-content: right;
24
28
  }
@@ -12,7 +12,7 @@ const getVerboseDate = function () {
12
12
  return (Array.isArray(date) ? date : [date]).map(date => (0, _locale.dateFormat)((0, _locale.parseDate)(date), {
13
13
  locale,
14
14
  ..._Chat.VERBOSE_DATE_FORMAT
15
- })).join(' ');
15
+ })).join(' ');
16
16
  };
17
17
  exports.getVerboseDate = getVerboseDate;
18
18
  //# sourceMappingURL=getVerboseDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getVerboseDate.js","names":["_locale","require","_Chat","getVerboseDate","date","arguments","length","undefined","locale","Array","isArray","map","dateFormat","parseDate","VERBOSE_DATE_FORMAT","join","exports"],"sources":["../../../../src/components/Chat/helpers/getVerboseDate.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nimport { VERBOSE_DATE_FORMAT } from '../Chat.constants';\n\nexport const getVerboseDate = (date = [], locale) =>\n (Array.isArray(date) ? date : [date])\n .map((date) => dateFormat(parseDate(date), { locale, ...VERBOSE_DATE_FORMAT }))\n .join(' ');\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,GAAG,SAAAA,CAAA;EAAA,IAACC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,OAC9C,CAACE,KAAK,CAACC,OAAO,CAACN,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EACjCO,GAAG,CAAEP,IAAI,IAAK,IAAAQ,kBAAU,EAAC,IAAAC,iBAAS,EAACT,IAAI,CAAC,EAAE;IAAEI,MAAM;IAAE,GAAGM;EAAoB,CAAC,CAAC,CAAC,CAC9EC,IAAI,CAAC,KAAK,CAAC;AAAA;AAACC,OAAA,CAAAb,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"getVerboseDate.js","names":["_locale","require","_Chat","getVerboseDate","date","arguments","length","undefined","locale","Array","isArray","map","dateFormat","parseDate","VERBOSE_DATE_FORMAT","join","exports"],"sources":["../../../../src/components/Chat/helpers/getVerboseDate.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nimport { VERBOSE_DATE_FORMAT } from '../Chat.constants';\n\nexport const getVerboseDate = (date = [], locale) =>\n (Array.isArray(date) ? date : [date])\n .map((date) => dateFormat(parseDate(date), { locale, ...VERBOSE_DATE_FORMAT }))\n .join(' ');\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,GAAG,SAAAA,CAAA;EAAA,IAACC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,OAC9C,CAACE,KAAK,CAACC,OAAO,CAACN,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EACjCO,GAAG,CAAEP,IAAI,IAAK,IAAAQ,kBAAU,EAAC,IAAAC,iBAAS,EAACT,IAAI,CAAC,EAAE;IAAEI,MAAM;IAAE,GAAGM;EAAoB,CAAC,CAAC,CAAC,CAC9EC,IAAI,CAAC,KAAK,CAAC;AAAA;AAACC,OAAA,CAAAb,cAAA,GAAAA,cAAA"}
@@ -99,7 +99,7 @@ const Compact = function () {
99
99
  })), !skeleton ? /*#__PURE__*/_react.default.createElement(_ui.Text, captionProps, "".concat(from ? dateFormat(from, {
100
100
  locale,
101
101
  ...DATE_FORMAT_COMPACT
102
- }) : translate(_BookingDates.L10N.LABEL_CHECK_IN), " \u2500 ").concat(to ? dateFormat(to, {
102
+ }) : translate(_BookingDates.L10N.LABEL_CHECK_IN), " \u2014 ").concat(to ? dateFormat(to, {
103
103
  locale,
104
104
  ...DATE_FORMAT_COMPACT
105
105
  }) : translate(_BookingDates.L10N.LABEL_CHECK_OUT))) : /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, captionProps, {