@mirai/core 0.4.191 → 0.4.193

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.
@@ -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 () => {
@@ -67,7 +66,10 @@ const Chat = _ref => {
67
66
  session
68
67
  }).catch(handleError);
69
68
  if (response) {
70
- if (!messages.length) return addMessage(response, messages);
69
+ if (!messages.length) return addMessage({
70
+ ...response,
71
+ timestamp: new Date().getTime()
72
+ }, messages);
71
73
  set({
72
74
  lisa: messages[messages.length - 1]
73
75
  });
@@ -76,7 +78,19 @@ const Chat = _ref => {
76
78
  // eslint-disable-next-line react-hooks/exhaustive-deps
77
79
  }, [skeleton]);
78
80
  (0, _react.useEffect)(() => {
79
- storage.set((0, _helpers.getStorageDomain)(components), (messages === null || messages === void 0 ? void 0 : messages.slice(-32)) || []);
81
+ const nextStoreMessages = [...previousMessages, ...messages].filter(function () {
82
+ let {
83
+ auto = false,
84
+ intent,
85
+ text
86
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
87
+ return !auto && text || !!intent;
88
+ }).slice(-32).map(item => ({
89
+ ...item,
90
+ storage: true
91
+ }));
92
+ storage.set((0, _helpers.getStorageDomain)(components), nextStoreMessages);
93
+ // eslint-disable-next-line react-hooks/exhaustive-deps
80
94
  }, [components, messages]);
81
95
  (0, _react.useEffect)(() => {
82
96
  if (!visible) return clearInterval(connectionInterval);
@@ -131,11 +145,17 @@ const Chat = _ref => {
131
145
  }];
132
146
  setMessages(nextMessages);
133
147
  setTimeout(async () => {
134
- var _messages, _messages$response;
148
+ var _messages$filter$slic, _messages$filter$slic2;
135
149
  setBusy(true);
150
+ const currentForm = (_messages$filter$slic = messages.filter(_ref4 => {
151
+ let {
152
+ storage
153
+ } = _ref4;
154
+ return !storage;
155
+ }).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
156
  storeContext = {
137
157
  ...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
158
+ form: currentForm
139
159
  };
140
160
  const response = await _services.ServiceLisa.message({
141
161
  context: storeContext,
@@ -151,7 +171,8 @@ const Chat = _ref => {
151
171
  let {
152
172
  context,
153
173
  form,
154
- intent
174
+ intent,
175
+ text
155
176
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
156
177
  if (intent === 'ACTION_LOGIN') return _dataSources.Event.publish(_helpers2.EVENT.LOGIN, {
157
178
  visible: true
@@ -163,21 +184,20 @@ const Chat = _ref => {
163
184
  ...context,
164
185
  form
165
186
  };
187
+ const nextMessages = [...messages, {
188
+ auto: false,
189
+ text
190
+ }];
166
191
  const response = await _services.ServiceLisa.action({
167
192
  context: nextContext,
168
193
  intent,
169
194
  locale,
170
195
  session
171
196
  }).catch(handleError);
172
- if (response) addMessage(response, messages, true);
197
+ if (response) addMessage(response, nextMessages, true);
173
198
  setBusy(false);
174
199
  }, _Chat2.DELAY_RESPONSE);
175
200
  };
176
- const handleError = error => {
177
- // eslint-disable-next-line no-console
178
- console.error('::handleError::', error);
179
- setOnline(false);
180
- };
181
201
  const handleRetry = async () => {
182
202
  setBusy(true);
183
203
  const nextMessages = [...messages];
@@ -202,6 +222,10 @@ const Chat = _ref => {
202
222
  if (response) addMessage(response, nextMessages, true);
203
223
  setBusy(false);
204
224
  };
225
+ const handleError = error => {
226
+ setError(error);
227
+ setOnline(false);
228
+ };
205
229
  const addMessage = function () {
206
230
  let response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
207
231
  let messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -223,7 +247,13 @@ const Chat = _ref => {
223
247
  response: {
224
248
  form
225
249
  } = {}
226
- } = messages.filter(message => message.auto).pop() || [];
250
+ } = messages.filter(function () {
251
+ let {
252
+ auto = false
253
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
254
+ return auto;
255
+ }).pop() || [];
256
+ const chatMessages = [...previousMessages, ...messages];
227
257
  return !skeleton ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(isMobile ? _ui.Modal : _ui.View, isMobile ? {
228
258
  ...others,
229
259
  visible,
@@ -235,18 +265,19 @@ const Chat = _ref => {
235
265
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Chat3.Header, {
236
266
  form,
237
267
  online,
268
+ visible,
238
269
  onClose: () => setVisible(false)
239
270
  }), /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
240
271
  scrollTo: new Date().getTime(),
241
272
  snap: false,
242
273
  className: style.messages
243
- }, messages.map((message, index) => {
244
- var _messages2;
274
+ }, chatMessages.map((message, index) => {
275
+ var _chatMessages;
245
276
  return /*#__PURE__*/_react.default.createElement(_components.Message, _extends({}, message, {
246
277
  key: "message:".concat(index),
247
- disabled: busy || index < messages.length - 1,
278
+ disabled: busy || index < chatMessages.length - 1,
248
279
  onAction: handleAction,
249
- onRetry: index === messages.length - 1 && (_messages2 = messages[index - 1]) !== null && _messages2 !== void 0 && _messages2.text ? handleRetry : undefined
280
+ onRetry: index === chatMessages.length - 1 && (_chatMessages = chatMessages[index - 1]) !== null && _chatMessages !== void 0 && _chatMessages.text ? handleRetry : undefined
250
281
  }));
251
282
  }), busy && /*#__PURE__*/_react.default.createElement(_components.Message, {
252
283
  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","timestamp","Date","getTime","lisa","nextStoreMessages","filter","auto","intent","text","undefined","slice","map","item","clearInterval","setInterval","storeContext","_ref2","_ref3","form","finder","rates","next","status","handleInput","input","nextMessages","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","chatMessages","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","scrollTo","snap","index","_chatMessages","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, timestamp: new Date().getTime() }, 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, text } = {}) => {\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 nextMessages = [...messages, { auto: false, text }];\n\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, 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 const chatMessages = [...previousMessages, ...messages];\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 {chatMessages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < chatMessages.length - 1}\n onAction={handleAction}\n onRetry={index === chatMessages.length - 1 && chatMessages[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
  /* -------------------------------------------------------------------------- */
@@ -48,7 +48,8 @@ const Action = _ref => {
48
48
  const handlePress = () => {
49
49
  if (intent) return onPress({
50
50
  intent,
51
- context: value
51
+ context: value,
52
+ text
52
53
  });else if (requirement) {
53
54
  const {
54
55
  intent,
@@ -68,7 +69,8 @@ const Action = _ref => {
68
69
  form: {
69
70
  ...form,
70
71
  [requirement.name]: requirement.value
71
- }
72
+ },
73
+ text
72
74
  });
73
75
  } else _dataSources.Event.publish(_Chat.EVENT.INPUT_COMPONENT, {
74
76
  requirement,
@@ -99,7 +101,8 @@ const Action = _ref => {
99
101
  onPress({
100
102
  context,
101
103
  intent,
102
- form: nextForm
104
+ form: nextForm,
105
+ text
103
106
  });
104
107
  }
105
108
  };
@@ -109,7 +112,7 @@ const Action = _ref => {
109
112
  } = _ref3;
110
113
  return name;
111
114
  }).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)({
115
+ 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
116
  plural: value.rooms.length > 1,
114
117
  type: accommodationType
115
118
  }, translate)) : props.text;
@@ -118,7 +121,6 @@ const Action = _ref => {
118
121
  disabled,
119
122
  image,
120
123
  text,
121
- disabled: intent && disabled,
122
124
  href: url,
123
125
  icon: (0, _helpers.getActionIcon)(url),
124
126
  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","text","response","form","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, text });\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 text,\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, text });\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({
@@ -71,9 +72,9 @@ const Message = _ref => {
71
72
  }, text || response.text) : null, cardResponse ? /*#__PURE__*/_react.default.createElement(_components.Card, _extends({
72
73
  disabled: disabled,
73
74
  option: false
74
- }, cardResponse)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, actions.map((action, index) => /*#__PURE__*/_react.default.createElement(_Message.Action, _extends({}, action, {
75
+ }, cardResponse)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !storage && actions.map((action, index) => /*#__PURE__*/_react.default.createElement(_Message.Action, _extends({}, action, {
75
76
  key: "chat.message:action:".concat(index),
76
- disabled: disabled,
77
+ disabled: disabled || storage,
77
78
  onPress: onAction,
78
79
  onResponse: setCardResponse
79
80
  }))))), onRetry && auto && /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -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 {!storage &&\n actions.map((action, index) => (\n <Action\n {...action}\n key={`chat.message:action:${index}`}\n disabled={disabled || storage}\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,11 @@
19
19
  justify-content: left;
20
20
  }
21
21
 
22
+ .message.storage {
23
+ opacity: 0.8;
24
+ filter: grayscale(1);
25
+ }
26
+
22
27
  .message:not(.auto) {
23
28
  justify-content: right;
24
29
  }
@@ -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, {
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","_Finder2","style","_interopRequireWildcard","_helpers","_shared__","_BookingDates","_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","CHAIN","HOTEL","TYPE","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","others","undefined","isMobile","isTablet","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","skeleton","type","useStore","direction","Theme","getDirection","hasPlaces","options","getHotels","captionProps","action","medium","small","className","caption","iconProps","light","styles","icon","createElement","View","row","tag","finder","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","pressable","Icon","FIELD","Text","getPlaceCaption","CALENDAR","testId","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","Skeleton","words","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","button","squared","Button","L10N_FINDER","ACTION_SEARCH","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { TYPE, VIEW } from './Finder.constants';\nimport { L10N as L10N_FINDER } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { Skeleton } from '../__shared__';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit,\n ...others\n} = {}) => {\n const { isMobile, isTablet } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n config: { hotels: dataSource, lodgingDenomination: individual } = {},\n locale,\n skeleton = false,\n type = HOTEL,\n },\n } = useStore();\n\n const direction = Theme.getDirection();\n const hasPlaces = !!(place || places.options) || (skeleton && type === CHAIN);\n const hotels = getHotels(placesSource, place);\n const captionProps = {\n action: isTablet || !hasPlaces,\n medium: isMobile,\n small: isMobile && hasPlaces,\n className: style.caption,\n };\n const iconProps = { light: true, className: styles(style.icon, skeleton && style.skeleton) };\n\n return (\n <View\n row\n tag=\"finder-compact\"\n className={styles(\n style.finder,\n style.compact,\n hasPlaces && style.hasPlaces,\n direction === LEFT ? style.directionLeft : style.directionRight,\n )}\n >\n {hasPlaces && (\n <Pressable onPress={!skeleton ? () => onExpand(VIEW.PLACE) : undefined} className={style.pressable}>\n <Icon {...iconProps} value={FIELD.PLACE.icon} />\n {!isMobile && <Text {...captionProps}>{getPlaceCaption(place, places.options)}</Text>}\n </Pressable>\n )}\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.CALENDAR) : undefined}\n className={[style.pressable, style.calendar]}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n >\n {(!isMobile || (isMobile && !hasPlaces)) && <Icon {...iconProps} value={FIELD.CALENDAR.icon} />}\n {!skeleton ? (\n <Text {...captionProps}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} ─ ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n ) : (\n <Skeleton {...captionProps} words={2} />\n )}\n </Pressable>\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.OCCUPATION) : undefined}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-occupation-field` : undefined}\n >\n <Icon {...iconProps} value={FIELD.OCCUPATION.icon} />\n {!skeleton ? (\n <Text {...captionProps}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n ) : (\n <Skeleton {...captionProps} words={1} />\n )}\n </Pressable>\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.PROMOCODE) : undefined}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n >\n <Icon {...iconProps} value={FIELD.PROMOCODE.icon} />\n {promocode && !isMobile && <Text {...captionProps}>{promocode}</Text>}\n </Pressable>\n\n {onSubmit ? (\n skeleton ? (\n <Skeleton button small squared className={styles(style.button, style.skeleton)} />\n ) : (\n <Button\n small\n squared\n onPress={onSubmit}\n className={style.button}\n aria-label={translate(L10N_FINDER.ACTION_SEARCH)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n <Icon value={ICON.SEARCH} />\n </Button>\n )\n ) : null}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","_Finder2","style","_interopRequireWildcard","_helpers","_shared__","_BookingDates","_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","CHAIN","HOTEL","TYPE","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","others","undefined","isMobile","isTablet","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","skeleton","type","useStore","direction","Theme","getDirection","hasPlaces","options","getHotels","captionProps","action","medium","small","className","caption","iconProps","light","styles","icon","createElement","View","row","tag","finder","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","pressable","Icon","FIELD","Text","getPlaceCaption","CALENDAR","testId","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","Skeleton","words","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","button","squared","Button","L10N_FINDER","ACTION_SEARCH","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { TYPE, VIEW } from './Finder.constants';\nimport { L10N as L10N_FINDER } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { Skeleton } from '../__shared__';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit,\n ...others\n} = {}) => {\n const { isMobile, isTablet } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n config: { hotels: dataSource, lodgingDenomination: individual } = {},\n locale,\n skeleton = false,\n type = HOTEL,\n },\n } = useStore();\n\n const direction = Theme.getDirection();\n const hasPlaces = !!(place || places.options) || (skeleton && type === CHAIN);\n const hotels = getHotels(placesSource, place);\n const captionProps = {\n action: isTablet || !hasPlaces,\n medium: isMobile,\n small: isMobile && hasPlaces,\n className: style.caption,\n };\n const iconProps = { light: true, className: styles(style.icon, skeleton && style.skeleton) };\n\n return (\n <View\n row\n tag=\"finder-compact\"\n className={styles(\n style.finder,\n style.compact,\n hasPlaces && style.hasPlaces,\n direction === LEFT ? style.directionLeft : style.directionRight,\n )}\n >\n {hasPlaces && (\n <Pressable onPress={!skeleton ? () => onExpand(VIEW.PLACE) : undefined} className={style.pressable}>\n <Icon {...iconProps} value={FIELD.PLACE.icon} />\n {!isMobile && <Text {...captionProps}>{getPlaceCaption(place, places.options)}</Text>}\n </Pressable>\n )}\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.CALENDAR) : undefined}\n className={[style.pressable, style.calendar]}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n >\n {(!isMobile || (isMobile && !hasPlaces)) && <Icon {...iconProps} value={FIELD.CALENDAR.icon} />}\n {!skeleton ? (\n <Text {...captionProps}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} — ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n ) : (\n <Skeleton {...captionProps} words={2} />\n )}\n </Pressable>\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.OCCUPATION) : undefined}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-occupation-field` : undefined}\n >\n <Icon {...iconProps} value={FIELD.OCCUPATION.icon} />\n {!skeleton ? (\n <Text {...captionProps}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n ) : (\n <Skeleton {...captionProps} words={1} />\n )}\n </Pressable>\n\n <Pressable\n onPress={!skeleton ? () => onExpand(VIEW.PROMOCODE) : undefined}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n >\n <Icon {...iconProps} value={FIELD.PROMOCODE.icon} />\n {promocode && !isMobile && <Text {...captionProps}>{promocode}</Text>}\n </Pressable>\n\n {onSubmit ? (\n skeleton ? (\n <Skeleton button small squared className={styles(style.button, style.skeleton)} />\n ) : (\n <Button\n small\n squared\n onPress={onSubmit}\n className={style.button}\n aria-label={translate(L10N_FINDER.ACTION_SEARCH)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n <Icon value={ICON.SEARCH} />\n </Button>\n )\n ) : null}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
@@ -215,7 +215,7 @@ const Unavailability = _ref => {
215
215
  ..._Rates.DATE_FORMAT
216
216
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
217
217
  className: style.anchorDates
218
- }, "\u2500"), /*#__PURE__*/_react.default.createElement(_ui.Text, {
218
+ }, "\u2014"), /*#__PURE__*/_react.default.createElement(_ui.Text, {
219
219
  bold: true,
220
220
  headline: !isMobile,
221
221
  level: 3
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","METRICS","id","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","underline","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n small={isMobile}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n small={isMobile}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline={!isMobile} className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","METRICS","id","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","underline","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n small={isMobile}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n small={isMobile}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline={!isMobile} className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>—</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -46,7 +46,7 @@ const BookingDates = _ref => {
46
46
  ..._BookingDates.DATE_FORMAT
47
47
  }) : translate(_BookingDates2.L10N.LABEL_CHECK_IN)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
48
48
  className: style.anchor
49
- }, " \u2500 "), /*#__PURE__*/_react.default.createElement(_ui.Text, {
49
+ }, " \u2014 "), /*#__PURE__*/_react.default.createElement(_ui.Text, {
50
50
  bold: !!to
51
51
  }, to || focus && from ? (0, _locale.dateFormat)(to || focus, {
52
52
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"BookingDates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_BookingDates","_BookingDates2","style","_interopRequireWildcard","_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","BookingDates","_ref","from","focus","rangeMinDays","to","others","isMobile","useDevice","locale","translate","useLocale","days","nights","dateDiff","createElement","View","row","className","Text","bold","dateFormat","DATE_FORMAT","L10N","LABEL_CHECK_IN","anchor","LABEL_CHECK_OUT","small","LABEL_NIGHTS","value","legend","LABEL_MIN_NIGHTS","undefined","exports","displayName","propTypes","PropTypes","any","number"],"sources":["../../../../src/components/__shared__/BookingDates/BookingDates.jsx"],"sourcesContent":["import { dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { DATE_FORMAT } from './BookingDates.constants';\nimport { L10N } from './BookingDates.l10n';\nimport * as style from './BookingDates.module.css';\n\nconst BookingDates = ({ from, focus, rangeMinDays, to, ...others }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n\n const { days: nights } = dateDiff(from, to || focus);\n\n return (\n <View row={!isMobile} {...others} className={style.nights}>\n <View row>\n <Text bold={!!from}>\n {from ? dateFormat(from, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <Text className={style.anchor}> </Text>\n <Text bold={!!to}>\n {to || (focus && from)\n ? dateFormat(to || focus, { locale, ...DATE_FORMAT })\n : translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n </View>\n\n {nights && nights > 0 ? (\n <Text small={isMobile}>({translate(L10N.LABEL_NIGHTS, { value: nights })})</Text>\n ) : isMobile ? (\n rangeMinDays && (\n <Text small className={style.legend}>\n ({translate(L10N.LABEL_MIN_NIGHTS, { value: rangeMinDays })})\n </Text>\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingDates.displayName = 'Mirai:Core:BookingDates';\n\nBookingDates.propTypes = {\n from: PropTypes.any,\n focus: PropTypes.any,\n rangeMinDays: PropTypes.number,\n to: PropTypes.any,\n};\n\nexport { BookingDates };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AAAmD,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAA2B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEnD,MAAMK,YAAY,GAAGC,IAAA,IAAkD;EAAA,IAAjD;IAAEC,IAAI;IAAEC,KAAK;IAAEC,YAAY;IAAEC,EAAE;IAAE,GAAGC;EAAO,CAAC,GAAAL,IAAA;EAChE,MAAM;IAAEM;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEzC,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAQ,EAACZ,IAAI,EAAEG,EAAE,IAAIF,KAAK,CAAC;EAEpD,oBACEvC,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAAuD,IAAI,EAAAzB,QAAA;IAAC0B,GAAG,EAAE,CAACV;EAAS,GAAKD,MAAM;IAAEY,SAAS,EAAEnD,KAAK,CAAC8C;EAAO,iBACxDjD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAAuD,IAAI;IAACC,GAAG;EAAA,gBACPrD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAA0D,IAAI;IAACC,IAAI,EAAE,CAAC,CAAClB;EAAK,GAChBA,IAAI,GAAG,IAAAmB,kBAAU,EAACnB,IAAI,EAAE;IAAEO,MAAM;IAAE,GAAGa;EAAY,CAAC,CAAC,GAAGZ,SAAS,CAACa,mBAAI,CAACC,cAAc,CAChF,CAAC,eACP5D,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAA0D,IAAI;IAACD,SAAS,EAAEnD,KAAK,CAAC0D;EAAO,GAAC,UAAS,CAAC,eACzC7D,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAA0D,IAAI;IAACC,IAAI,EAAE,CAAC,CAACf;EAAG,GACdA,EAAE,IAAKF,KAAK,IAAID,IAAK,GAClB,IAAAmB,kBAAU,EAAChB,EAAE,IAAIF,KAAK,EAAE;IAAEM,MAAM;IAAE,GAAGa;EAAY,CAAC,CAAC,GACnDZ,SAAS,CAACa,mBAAI,CAACG,eAAe,CAC9B,CACF,CAAC,EAENb,MAAM,IAAIA,MAAM,GAAG,CAAC,gBACnBjD,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAA0D,IAAI;IAACQ,KAAK,EAAEpB;EAAS,GAAC,GAAC,EAACG,SAAS,CAACa,mBAAI,CAACK,YAAY,EAAE;IAAEC,KAAK,EAAEhB;EAAO,CAAC,CAAC,EAAC,GAAO,CAAC,GAC/EN,QAAQ,GACVH,YAAY,iBACVxC,MAAA,CAAAW,OAAA,CAAAwC,aAAA,CAACtD,GAAA,CAAA0D,IAAI;IAACQ,KAAK;IAACT,SAAS,EAAEnD,KAAK,CAAC+D;EAAO,GAAC,GAClC,EAACpB,SAAS,CAACa,mBAAI,CAACQ,gBAAgB,EAAE;IAAEF,KAAK,EAAEzB;EAAa,CAAC,CAAC,EAAC,GACxD,CACP,GACC4B,SACA,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAjC,YAAA,GAAAA,YAAA;AAEFA,YAAY,CAACkC,WAAW,GAAG,yBAAyB;AAEpDlC,YAAY,CAACmC,SAAS,GAAG;EACvBjC,IAAI,EAAEkC,kBAAS,CAACC,GAAG;EACnBlC,KAAK,EAAEiC,kBAAS,CAACC,GAAG;EACpBjC,YAAY,EAAEgC,kBAAS,CAACE,MAAM;EAC9BjC,EAAE,EAAE+B,kBAAS,CAACC;AAChB,CAAC"}
1
+ {"version":3,"file":"BookingDates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_BookingDates","_BookingDates2","style","_interopRequireWildcard","_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","BookingDates","_ref","from","focus","rangeMinDays","to","others","isMobile","useDevice","locale","translate","useLocale","days","nights","dateDiff","createElement","View","row","className","Text","bold","dateFormat","DATE_FORMAT","L10N","LABEL_CHECK_IN","anchor","LABEL_CHECK_OUT","small","LABEL_NIGHTS","value","legend","LABEL_MIN_NIGHTS","undefined","exports","displayName","propTypes","PropTypes","any","number"],"sources":["../../../../src/components/__shared__/BookingDates/BookingDates.jsx"],"sourcesContent":["import { dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { DATE_FORMAT } from './BookingDates.constants';\nimport { L10N } from './BookingDates.l10n';\nimport * as style from './BookingDates.module.css';\n\nconst BookingDates = ({ from, focus, rangeMinDays, to, ...others }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n\n const { days: nights } = dateDiff(from, to || focus);\n\n return (\n <View row={!isMobile} {...others} className={style.nights}>\n <View row>\n <Text bold={!!from}>\n {from ? dateFormat(from, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <Text className={style.anchor}> </Text>\n <Text bold={!!to}>\n {to || (focus && from)\n ? dateFormat(to || focus, { locale, ...DATE_FORMAT })\n : translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n </View>\n\n {nights && nights > 0 ? (\n <Text small={isMobile}>({translate(L10N.LABEL_NIGHTS, { value: nights })})</Text>\n ) : isMobile ? (\n rangeMinDays && (\n <Text small className={style.legend}>\n ({translate(L10N.LABEL_MIN_NIGHTS, { value: rangeMinDays })})\n </Text>\n )\n ) : undefined}\n </View>\n );\n};\n\nBookingDates.displayName = 'Mirai:Core:BookingDates';\n\nBookingDates.propTypes = {\n from: PropTypes.any,\n focus: PropTypes.any,\n rangeMinDays: PropTypes.number,\n to: PropTypes.any,\n};\n\nexport { BookingDates };\n"],"mappings":"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"}
@@ -15,7 +15,7 @@ const getCalendarCaption = function () {
15
15
  return "".concat(from ? dateFormat(from, {
16
16
  locale,
17
17
  ..._BookingDates.DATE_FORMAT
18
- }) : translate(_BookingDates2.L10N.LABEL_CHECK_IN), " \u2500 ").concat(to ? dateFormat(to, {
18
+ }) : translate(_BookingDates2.L10N.LABEL_CHECK_IN), " \u2014 ").concat(to ? dateFormat(to, {
19
19
  locale,
20
20
  ..._BookingDates.DATE_FORMAT
21
21
  }) : translate(_BookingDates2.L10N.LABEL_CHECK_OUT));
@@ -1 +1 @@
1
- {"version":3,"file":"getCalendarCaption.js","names":["_locale","require","_BookingDates","_BookingDates2","getCalendarCaption","from","to","arguments","length","undefined","translate","translateBase","dateFormat","dateFormatBase","locale","DEFAULT_LOCALE","concat","DATE_FORMAT","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","exports"],"sources":["../../../src/components/helpers/getCalendarCaption.js"],"sourcesContent":["import { dateFormat as dateFormatBase, DEFAULT_LOCALE, translate as translateBase } from '@mirai/locale';\n\nimport { DATE_FORMAT } from '../__shared__/BookingDates/BookingDates.constants';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\n\nexport const getCalendarCaption = (\n [from, to] = [],\n translate = translateBase,\n dateFormat = dateFormatBase,\n locale = DEFAULT_LOCALE,\n) =>\n `${from ? dateFormat(from, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_IN)} ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_OUT)\n }`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,MAAMG,kBAAkB,GAAG,SAAAA,CAAA;EAAA,IAChC,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACfG,SAAS,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGI,iBAAa;EAAA,IACzBC,UAAU,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGM,kBAAc;EAAA,IAC3BC,MAAM,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGQ,sBAAc;EAAA,UAAAC,MAAA,CAEpBX,IAAI,GAAGO,UAAU,CAACP,IAAI,EAAE;IAAES,MAAM;IAAE,GAAGG;EAAY,CAAC,CAAC,GAAGP,SAAS,CAACQ,mBAAI,CAACC,cAAc,CAAC,cAAAH,MAAA,CACrFV,EAAE,GAAGM,UAAU,CAACN,EAAE,EAAE;IAAEQ,MAAM;IAAE,GAAGG;EAAY,CAAC,CAAC,GAAGP,SAAS,CAACQ,mBAAI,CAACE,eAAe,CAAC;AAAA,CACjF;AAACC,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"file":"getCalendarCaption.js","names":["_locale","require","_BookingDates","_BookingDates2","getCalendarCaption","from","to","arguments","length","undefined","translate","translateBase","dateFormat","dateFormatBase","locale","DEFAULT_LOCALE","concat","DATE_FORMAT","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","exports"],"sources":["../../../src/components/helpers/getCalendarCaption.js"],"sourcesContent":["import { dateFormat as dateFormatBase, DEFAULT_LOCALE, translate as translateBase } from '@mirai/locale';\n\nimport { DATE_FORMAT } from '../__shared__/BookingDates/BookingDates.constants';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\n\nexport const getCalendarCaption = (\n [from, to] = [],\n translate = translateBase,\n dateFormat = dateFormatBase,\n locale = DEFAULT_LOCALE,\n) =>\n `${from ? dateFormat(from, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_IN)} ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT }) : translate(L10N.LABEL_CHECK_OUT)\n }`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,MAAMG,kBAAkB,GAAG,SAAAA,CAAA;EAAA,IAChC,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACfG,SAAS,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGI,iBAAa;EAAA,IACzBC,UAAU,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGM,kBAAc;EAAA,IAC3BC,MAAM,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGQ,sBAAc;EAAA,UAAAC,MAAA,CAEpBX,IAAI,GAAGO,UAAU,CAACP,IAAI,EAAE;IAAES,MAAM;IAAE,GAAGG;EAAY,CAAC,CAAC,GAAGP,SAAS,CAACQ,mBAAI,CAACC,cAAc,CAAC,cAAAH,MAAA,CACrFV,EAAE,GAAGM,UAAU,CAACN,EAAE,EAAE;IAAEQ,MAAM;IAAE,GAAGG;EAAY,CAAC,CAAC,GAAGP,SAAS,CAACQ,mBAAI,CAACE,eAAe,CAAC;AAAA,CACjF;AAACC,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
package/build/theme.css CHANGED
@@ -34,7 +34,7 @@
34
34
  --mirai-chat-text-line-height: var(--mirai-ui-line-height-action);
35
35
 
36
36
  --mirai-chat-base: var(--mirai-ui-base);
37
- --mirai-chat-base-opacity: rgba(255, 255, 255, 0.85);
37
+ --mirai-chat-base-opacity: rgba(255, 255, 255, 0.8);
38
38
  --mirai-chat-box-shadow: var(--mirai-ui-shadow);
39
39
  --mirai-chat-height: 70svh;
40
40
  --mirai-chat-max-height: calc(100svh - calc(var(--mirai-chat-space) * 2));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.191",
3
+ "version": "0.4.193",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",