@elliemae/ds-chat 2.0.1 → 2.1.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/parts/chat-composer/ChatContainerComposer.js +7 -5
- package/cjs/parts/chat-container/ChatContainer.js +24 -22
- package/cjs/parts/chat-container/styled.js +1 -1
- package/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +69 -34
- package/cjs/parts/chat-sidebar/SideBarChat.js +2 -2
- package/cjs/parts/sidebar-button/SidebarButton.js +2 -2
- package/esm/parts/chat-composer/ChatContainerComposer.js +7 -5
- package/esm/parts/chat-container/ChatContainer.js +24 -22
- package/esm/parts/chat-container/styled.js +1 -1
- package/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +69 -34
- package/esm/parts/chat-sidebar/SideBarChat.js +2 -2
- package/esm/parts/sidebar-button/SidebarButton.js +2 -2
- package/package.json +11 -11
- package/types/parts/chat-card/ChatCard.d.ts +6 -6
- package/types/parts/chat-card/props.d.ts +6 -6
- package/types/parts/chat-composer/styled.d.ts +3 -155
- package/types/parts/chat-container/ChatContainer.d.ts +6 -6
- package/types/parts/chat-container-messages-list/ChatContainerMessagesList.d.ts +6 -6
- package/types/parts/message-delimiter/MessageDelimiter.d.ts +4 -4
- package/types/parts/message-delimiter/props.d.ts +4 -4
- package/types/parts/system-message/SystemMessage.d.ts +2 -2
- package/types/parts/system-message/props.d.ts +2 -2
- package/types/parts/tile-button/TileButton.d.ts +2 -2
- package/types/parts/tile-button/props.d.ts +2 -2
|
@@ -15,6 +15,7 @@ import React from 'react';
|
|
|
15
15
|
import { describe } from 'react-desc';
|
|
16
16
|
import { useVirtual } from 'react-virtual';
|
|
17
17
|
import DSButton from '@elliemae/ds-button';
|
|
18
|
+
import { debounce } from 'lodash';
|
|
18
19
|
import { ChatBubble } from '../bubble/ChatBubble.js';
|
|
19
20
|
import { BUBBLE_TYPES } from '../bubble/props.js';
|
|
20
21
|
import { MessageDelimiter } from '../message-delimiter/MessageDelimiter.js';
|
|
@@ -24,9 +25,9 @@ import { listProps, defaultProps } from './props.js';
|
|
|
24
25
|
import { useValidateProps } from './config/useValidateProps.js';
|
|
25
26
|
import { jsx } from 'react/jsx-runtime';
|
|
26
27
|
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
29
|
|
|
29
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
30
31
|
|
|
31
32
|
const getPadding = _ref => {
|
|
32
33
|
let {
|
|
@@ -56,6 +57,7 @@ const ChatContainerMessagesList = props => {
|
|
|
56
57
|
isLoading,
|
|
57
58
|
bannerRef
|
|
58
59
|
} = props;
|
|
60
|
+
const pendingOnScroll = React.useRef(false);
|
|
59
61
|
const loadMoreRef = React.useRef(null);
|
|
60
62
|
const virtualListRef = React.useRef(); // estimateSize should not be really required given what was stated on
|
|
61
63
|
// https://github.com/tannerlinsley/react-virtual/issues/23
|
|
@@ -75,9 +77,15 @@ const ChatContainerMessagesList = props => {
|
|
|
75
77
|
})), {}, {
|
|
76
78
|
estimateSize: React.useCallback(() => 80, [])
|
|
77
79
|
}));
|
|
78
|
-
const
|
|
80
|
+
const debouncedScroll = React.useMemo(() => debounce(() => {
|
|
79
81
|
var _virtualListRef$curre;
|
|
80
82
|
|
|
83
|
+
if (document.visibilityState === 'hidden') {
|
|
84
|
+
pendingOnScroll.current = true;
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
pendingOnScroll.current = false;
|
|
81
89
|
const {
|
|
82
90
|
bottom,
|
|
83
91
|
top
|
|
@@ -86,15 +94,15 @@ const ChatContainerMessagesList = props => {
|
|
|
86
94
|
const indexList = [];
|
|
87
95
|
list.forEach(item => {
|
|
88
96
|
const {
|
|
89
|
-
top: itemTop
|
|
90
|
-
bottom: itemBottom
|
|
97
|
+
top: itemTop
|
|
91
98
|
} = item.getBoundingClientRect();
|
|
92
99
|
const itemPadding = 10;
|
|
93
|
-
if (itemTop + itemPadding < bottom &&
|
|
100
|
+
if (itemTop + itemPadding < bottom && itemTop + itemPadding > top) indexList.push(item.dataset.index);
|
|
94
101
|
});
|
|
95
102
|
if (onScrollEnds) onScrollEnds(indexList);
|
|
96
103
|
return indexList;
|
|
97
|
-
}, [onScrollEnds]);
|
|
104
|
+
}, 500), [onScrollEnds]);
|
|
105
|
+
const onScrollStop = React.useCallback(debouncedScroll, [debouncedScroll]);
|
|
98
106
|
const onlyFocus = React.useCallback(index => {
|
|
99
107
|
setTimeout(() => {
|
|
100
108
|
virtualListRef.current.querySelector("[data-index=\"".concat(index, "\"]")).focus();
|
|
@@ -106,7 +114,8 @@ const ChatContainerMessagesList = props => {
|
|
|
106
114
|
};
|
|
107
115
|
vScroll(index, b);
|
|
108
116
|
onlyFocus(index);
|
|
109
|
-
|
|
117
|
+
onScrollStop();
|
|
118
|
+
}, [onScrollStop, onlyFocus, vScroll]);
|
|
110
119
|
React.useEffect(() => {
|
|
111
120
|
if (actionRef && actionRef.current) {
|
|
112
121
|
actionRef.current.scrollToIndex = function (a) {
|
|
@@ -114,6 +123,7 @@ const ChatContainerMessagesList = props => {
|
|
|
114
123
|
align: 'center'
|
|
115
124
|
};
|
|
116
125
|
vScroll(a, b);
|
|
126
|
+
onScrollStop();
|
|
117
127
|
};
|
|
118
128
|
|
|
119
129
|
actionRef.current.getMessagesInView = onScrollStop;
|
|
@@ -127,7 +137,7 @@ const ChatContainerMessagesList = props => {
|
|
|
127
137
|
|
|
128
138
|
actionRef.current.focusToIndexWithoutScroll = onlyFocus;
|
|
129
139
|
|
|
130
|
-
actionRef.current.focusToList =
|
|
140
|
+
actionRef.current.focusToList = () => {
|
|
131
141
|
var _virtualListRef$curre2;
|
|
132
142
|
|
|
133
143
|
(_virtualListRef$curre2 = virtualListRef.current) === null || _virtualListRef$curre2 === void 0 ? void 0 : _virtualListRef$curre2.focus();
|
|
@@ -144,7 +154,17 @@ const ChatContainerMessagesList = props => {
|
|
|
144
154
|
switch (key) {
|
|
145
155
|
case 'ArrowUp':
|
|
146
156
|
e.preventDefault();
|
|
147
|
-
|
|
157
|
+
|
|
158
|
+
if (index > 0) {
|
|
159
|
+
var _virtualListRef$curre3;
|
|
160
|
+
|
|
161
|
+
((_virtualListRef$curre3 = virtualListRef.current) === null || _virtualListRef$curre3 === void 0 ? void 0 : _virtualListRef$curre3.querySelector("[data-index=\"".concat(index - 1, "\"]"))).focus();
|
|
162
|
+
} else if (hasMoreItems === 'top') {
|
|
163
|
+
var _loadMoreRef$current;
|
|
164
|
+
|
|
165
|
+
(_loadMoreRef$current = loadMoreRef.current) === null || _loadMoreRef$current === void 0 ? void 0 : _loadMoreRef$current.focus();
|
|
166
|
+
}
|
|
167
|
+
|
|
148
168
|
break;
|
|
149
169
|
|
|
150
170
|
case 'ArrowDown':
|
|
@@ -167,31 +187,31 @@ const ChatContainerMessagesList = props => {
|
|
|
167
187
|
break;
|
|
168
188
|
|
|
169
189
|
case 'Tab':
|
|
170
|
-
e.preventDefault();
|
|
171
|
-
|
|
172
190
|
if (hasMoreItems === 'bottom' && !e.shiftKey) {
|
|
173
|
-
var _loadMoreRef$current;
|
|
174
|
-
|
|
175
|
-
(_loadMoreRef$current = loadMoreRef.current) === null || _loadMoreRef$current === void 0 ? void 0 : _loadMoreRef$current.focus();
|
|
176
|
-
} else if (hasMoreItems === 'top' && e.shiftKey) {
|
|
177
191
|
var _loadMoreRef$current2;
|
|
178
192
|
|
|
193
|
+
e.preventDefault();
|
|
179
194
|
(_loadMoreRef$current2 = loadMoreRef.current) === null || _loadMoreRef$current2 === void 0 ? void 0 : _loadMoreRef$current2.focus();
|
|
195
|
+
} else if (hasMoreItems === 'top' && e.shiftKey) {
|
|
196
|
+
var _loadMoreRef$current3;
|
|
197
|
+
|
|
198
|
+
e.preventDefault();
|
|
199
|
+
(_loadMoreRef$current3 = loadMoreRef.current) === null || _loadMoreRef$current3 === void 0 ? void 0 : _loadMoreRef$current3.focus();
|
|
180
200
|
} else if (!e.shiftKey) {
|
|
181
201
|
if (bannerPosition) {
|
|
202
|
+
e.preventDefault();
|
|
182
203
|
bannerRef.current.focusOnWrapper();
|
|
183
|
-
} else {
|
|
184
|
-
actionRef.current.focusToComposer();
|
|
185
204
|
}
|
|
186
205
|
} else {
|
|
187
|
-
var _virtualListRef$
|
|
206
|
+
var _virtualListRef$curre4;
|
|
188
207
|
|
|
189
|
-
|
|
208
|
+
e.preventDefault();
|
|
209
|
+
(_virtualListRef$curre4 = virtualListRef.current) === null || _virtualListRef$curre4 === void 0 ? void 0 : _virtualListRef$curre4.focus();
|
|
190
210
|
}
|
|
191
211
|
|
|
192
212
|
break;
|
|
193
213
|
}
|
|
194
|
-
}, [actionRef, hasMoreItems, messages.length, bannerPosition, scrollAndFocus]);
|
|
214
|
+
}, [actionRef, bannerRef, hasMoreItems, messages.length, bannerPosition, scrollAndFocus]);
|
|
195
215
|
const handleListKey = React.useCallback(e => {
|
|
196
216
|
const {
|
|
197
217
|
key
|
|
@@ -200,12 +220,22 @@ const ChatContainerMessagesList = props => {
|
|
|
200
220
|
switch (key) {
|
|
201
221
|
case 'ArrowUp':
|
|
202
222
|
e.preventDefault();
|
|
203
|
-
|
|
223
|
+
|
|
224
|
+
if (document.activeElement !== loadMoreRef.current) {
|
|
225
|
+
onlyFocus(onScrollStop().shift());
|
|
226
|
+
}
|
|
227
|
+
|
|
204
228
|
break;
|
|
205
229
|
|
|
206
230
|
case 'ArrowDown':
|
|
207
231
|
e.preventDefault();
|
|
208
|
-
|
|
232
|
+
|
|
233
|
+
if (document.activeElement === loadMoreRef.current) {
|
|
234
|
+
virtualListRef.current.querySelector("[data-index=\"0\"]").focus();
|
|
235
|
+
} else {
|
|
236
|
+
onlyFocus(onScrollStop().pop());
|
|
237
|
+
}
|
|
238
|
+
|
|
209
239
|
break;
|
|
210
240
|
|
|
211
241
|
case 'Home':
|
|
@@ -221,15 +251,15 @@ const ChatContainerMessagesList = props => {
|
|
|
221
251
|
case 'Tab':
|
|
222
252
|
if (document.activeElement !== loadMoreRef.current) {
|
|
223
253
|
if (hasMoreItems === 'bottom' && !e.shiftKey) {
|
|
224
|
-
var _loadMoreRef$
|
|
254
|
+
var _loadMoreRef$current4;
|
|
225
255
|
|
|
226
256
|
e.preventDefault();
|
|
227
|
-
(_loadMoreRef$
|
|
257
|
+
(_loadMoreRef$current4 = loadMoreRef.current) === null || _loadMoreRef$current4 === void 0 ? void 0 : _loadMoreRef$current4.focus();
|
|
228
258
|
} else if (hasMoreItems === 'top' && e.shiftKey) {
|
|
229
|
-
var _loadMoreRef$
|
|
259
|
+
var _loadMoreRef$current5;
|
|
230
260
|
|
|
231
261
|
e.preventDefault();
|
|
232
|
-
(_loadMoreRef$
|
|
262
|
+
(_loadMoreRef$current5 = loadMoreRef.current) === null || _loadMoreRef$current5 === void 0 ? void 0 : _loadMoreRef$current5.focus();
|
|
233
263
|
} else if (!e.shiftKey) {
|
|
234
264
|
e.preventDefault();
|
|
235
265
|
actionRef.current.focusToComposer();
|
|
@@ -238,15 +268,18 @@ const ChatContainerMessagesList = props => {
|
|
|
238
268
|
e.preventDefault();
|
|
239
269
|
actionRef.current.focusToComposer();
|
|
240
270
|
} else {
|
|
241
|
-
var _virtualListRef$
|
|
271
|
+
var _virtualListRef$curre5;
|
|
242
272
|
|
|
243
273
|
e.preventDefault();
|
|
244
|
-
(_virtualListRef$
|
|
274
|
+
(_virtualListRef$curre5 = virtualListRef.current) === null || _virtualListRef$curre5 === void 0 ? void 0 : _virtualListRef$curre5.focus();
|
|
245
275
|
}
|
|
246
276
|
|
|
247
277
|
break;
|
|
248
278
|
}
|
|
249
279
|
}, [actionRef, hasMoreItems, messages.length, onScrollStop, onlyFocus, scrollAndFocus]);
|
|
280
|
+
const checkPendingOnScroll = React.useCallback(() => {
|
|
281
|
+
if (pendingOnScroll.current === true) onScrollStop();
|
|
282
|
+
}, [onScrollStop]);
|
|
250
283
|
React.useEffect(() => {
|
|
251
284
|
let handlerCallback = null;
|
|
252
285
|
const localVirtualRef = virtualListRef.current;
|
|
@@ -260,11 +293,13 @@ const ChatContainerMessagesList = props => {
|
|
|
260
293
|
virtualListRef.current.addEventListener('scroll', onScroll);
|
|
261
294
|
}
|
|
262
295
|
|
|
296
|
+
document.addEventListener('visibilitychange', checkPendingOnScroll);
|
|
263
297
|
return () => {
|
|
264
298
|
if (handlerCallback) clearTimeout(handlerCallback);
|
|
265
299
|
if (onScrollEnds) localVirtualRef.removeEventListener('scroll', onScroll);
|
|
300
|
+
document.removeEventListener('visibilitychange', checkPendingOnScroll);
|
|
266
301
|
};
|
|
267
|
-
}, [onScrollStop, onScrollEnds]);
|
|
302
|
+
}, [onScrollStop, onScrollEnds, checkPendingOnScroll]);
|
|
268
303
|
const render = React.useMemo(() => virtualItems.map(virtualItem => {
|
|
269
304
|
const {
|
|
270
305
|
index,
|
|
@@ -285,14 +320,14 @@ const ChatContainerMessagesList = props => {
|
|
|
285
320
|
"data-index": index,
|
|
286
321
|
style: style,
|
|
287
322
|
ref: measureRef,
|
|
288
|
-
tabIndex:
|
|
323
|
+
tabIndex: -1,
|
|
289
324
|
onKeyDown: handleKey,
|
|
290
325
|
role: "listitem",
|
|
291
326
|
children: /*#__PURE__*/_jsx(StyledWrapperListItem, {
|
|
292
327
|
type: row.type
|
|
293
328
|
}, void 0, row.type === BUBBLE_TYPES.SENDER || row.type === BUBBLE_TYPES.RECIPIENT ?
|
|
294
329
|
/*#__PURE__*/
|
|
295
|
-
// eslint-disable-next-line
|
|
330
|
+
// eslint-disable-next-line eslint-comments/no-unlimited-disable
|
|
296
331
|
jsx(ChatBubble, _objectSpread(_objectSpread({}, row), {}, {
|
|
297
332
|
helpMessage: isSending ? sendingText : row.helpMessage
|
|
298
333
|
})) : null, row.type === BUBBLE_TYPES.DELIMITER ? /*#__PURE__*/jsx(MessageDelimiter, _objectSpread({}, row)) : null, row.type === BUBBLE_TYPES.SYSTEM ? /*#__PURE__*/jsx(SystemMessage, _objectSpread({}, row)) : null)
|
|
@@ -308,7 +343,7 @@ const ChatContainerMessagesList = props => {
|
|
|
308
343
|
onKeyDown: handleListKey,
|
|
309
344
|
children: /*#__PURE__*/_jsx(StyledChatContainerContentListScroll, {
|
|
310
345
|
height: "".concat(totalSize, "px")
|
|
311
|
-
}, void 0,
|
|
346
|
+
}, void 0, !isLoading && hasMoreItems ? /*#__PURE__*/_jsx(StyledLoadMoreContainer, {
|
|
312
347
|
hasMoreItems: hasMoreItems
|
|
313
348
|
}, void 0, /*#__PURE__*/_jsx(DSButton, {
|
|
314
349
|
labelText: "Load More",
|
|
@@ -316,7 +351,7 @@ const ChatContainerMessagesList = props => {
|
|
|
316
351
|
onClick: getMoreMessages,
|
|
317
352
|
"data-testid": "ds-chat-load-more-btn",
|
|
318
353
|
innerRef: loadMoreRef
|
|
319
|
-
})) : null)
|
|
354
|
+
})) : null, render)
|
|
320
355
|
}));
|
|
321
356
|
};
|
|
322
357
|
|
|
@@ -18,9 +18,9 @@ import { chatSidebarProps, defaultProps } from './props.js';
|
|
|
18
18
|
import { useValidateProps } from './config/useValidateProps.js';
|
|
19
19
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
20
20
|
|
|
21
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
22
|
|
|
23
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
24
|
|
|
25
25
|
const FooterChat = _ref => {
|
|
26
26
|
let {
|
|
@@ -13,9 +13,9 @@ import { jsxs } from 'react/jsx-runtime';
|
|
|
13
13
|
|
|
14
14
|
const _excluded = ["label", "dsId", "onClick", "Icon"];
|
|
15
15
|
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
19
|
const SidebarButton = _ref => {
|
|
20
20
|
let {
|
|
21
21
|
label,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-chat",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-rc.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Chat",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -305,22 +305,22 @@
|
|
|
305
305
|
"generateSubmodules": true
|
|
306
306
|
},
|
|
307
307
|
"dependencies": {
|
|
308
|
-
"@elliemae/ds-banner": "2.0.
|
|
309
|
-
"@elliemae/ds-button": "2.0.
|
|
310
|
-
"@elliemae/ds-grid": "2.0.
|
|
311
|
-
"@elliemae/ds-icons": "2.0.
|
|
312
|
-
"@elliemae/ds-indeterminate-progress-indicator": "2.0.
|
|
313
|
-
"@elliemae/ds-props-helpers": "2.0.
|
|
314
|
-
"@elliemae/ds-system": "2.0.
|
|
315
|
-
"@elliemae/ds-tooltip": "2.0.
|
|
316
|
-
"@elliemae/ds-truncated-tooltip-text": "2.0.
|
|
308
|
+
"@elliemae/ds-banner": "2.1.0-rc.2",
|
|
309
|
+
"@elliemae/ds-button": "2.1.0-rc.2",
|
|
310
|
+
"@elliemae/ds-grid": "2.1.0-rc.2",
|
|
311
|
+
"@elliemae/ds-icons": "2.1.0-rc.2",
|
|
312
|
+
"@elliemae/ds-indeterminate-progress-indicator": "2.1.0-rc.2",
|
|
313
|
+
"@elliemae/ds-props-helpers": "2.1.0-rc.2",
|
|
314
|
+
"@elliemae/ds-system": "2.1.0-rc.2",
|
|
315
|
+
"@elliemae/ds-tooltip": "2.1.0-rc.2",
|
|
316
|
+
"@elliemae/ds-truncated-tooltip-text": "2.1.0-rc.2",
|
|
317
317
|
"prop-types": "~15.7.2",
|
|
318
318
|
"react-desc": "~4.1.2",
|
|
319
319
|
"react-virtual": "~2.3.2"
|
|
320
320
|
},
|
|
321
321
|
"devDependencies": {
|
|
322
322
|
"@testing-library/dom": "~8.11.1",
|
|
323
|
-
"@testing-library/jest-dom": "~5.15.
|
|
323
|
+
"@testing-library/jest-dom": "~5.15.0",
|
|
324
324
|
"@testing-library/react": "~12.1.2",
|
|
325
325
|
"@testing-library/user-event": "~13.5.0",
|
|
326
326
|
"styled-components": "~5.3.3"
|
|
@@ -6,22 +6,22 @@ declare const ChatCard: {
|
|
|
6
6
|
propTypes: {
|
|
7
7
|
title: any;
|
|
8
8
|
content: {
|
|
9
|
-
defaultValue
|
|
9
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
10
10
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
11
11
|
};
|
|
12
|
-
isRequired: import("react-desc").
|
|
12
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
13
13
|
};
|
|
14
14
|
time: {
|
|
15
|
-
defaultValue
|
|
15
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
16
16
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
17
17
|
};
|
|
18
|
-
isRequired: import("react-desc").
|
|
18
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
19
19
|
};
|
|
20
20
|
rightAddon: {
|
|
21
|
-
defaultValue
|
|
21
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
22
22
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
23
23
|
};
|
|
24
|
-
isRequired: import("react-desc").
|
|
24
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
};
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
export declare const propTypes: {
|
|
4
4
|
title: any;
|
|
5
5
|
content: {
|
|
6
|
-
defaultValue
|
|
6
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
7
7
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
8
8
|
};
|
|
9
|
-
isRequired: import("react-desc").
|
|
9
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
10
10
|
};
|
|
11
11
|
time: {
|
|
12
|
-
defaultValue
|
|
12
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
13
13
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
14
14
|
};
|
|
15
|
-
isRequired: import("react-desc").
|
|
15
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
16
16
|
};
|
|
17
17
|
rightAddon: {
|
|
18
|
-
defaultValue
|
|
18
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
19
19
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
20
20
|
};
|
|
21
|
-
isRequired: import("react-desc").
|
|
21
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
export interface CardPropTypes {
|
|
@@ -1,157 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
export declare const StyledChatContainerContentComposer: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/types/types").GridPropsT & import("react").RefAttributes<HTMLDivElement>>, import("styled-components").DefaultTheme, {}, never>;
|
|
1
|
+
export declare const StyledChatContainerContentComposer: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, object, string | number | symbol>;
|
|
4
2
|
export declare const StyledComposerInput: import("styled-components").StyledComponent<"textarea", import("styled-components").DefaultTheme, any, never>;
|
|
5
|
-
export declare const StyledComposerButton: import("styled-components").StyledComponent<
|
|
6
|
-
|
|
7
|
-
[x: string]: any;
|
|
8
|
-
innerRef: any;
|
|
9
|
-
disabled: any;
|
|
10
|
-
buttonType: any;
|
|
11
|
-
fluidWidth: any;
|
|
12
|
-
size: any;
|
|
13
|
-
labelText: any;
|
|
14
|
-
icon: any;
|
|
15
|
-
onBlur: any;
|
|
16
|
-
onClick: any;
|
|
17
|
-
onKeyPress: any;
|
|
18
|
-
leftIcon: any;
|
|
19
|
-
tabIndex: any;
|
|
20
|
-
variant: any;
|
|
21
|
-
intent: any;
|
|
22
|
-
containerProps: any;
|
|
23
|
-
className: any;
|
|
24
|
-
as: any;
|
|
25
|
-
type: any;
|
|
26
|
-
}): JSX.Element;
|
|
27
|
-
defaultProps: {
|
|
28
|
-
disabled: boolean;
|
|
29
|
-
fluidWidth: boolean;
|
|
30
|
-
labelText: string;
|
|
31
|
-
icon: null;
|
|
32
|
-
onBlur: () => null;
|
|
33
|
-
onClick: () => null;
|
|
34
|
-
onKeyPress: () => null;
|
|
35
|
-
leftIcon: null;
|
|
36
|
-
tabIndex: number;
|
|
37
|
-
variant: string;
|
|
38
|
-
containerProps: {};
|
|
39
|
-
as: string;
|
|
40
|
-
type: string;
|
|
41
|
-
};
|
|
42
|
-
propTypes: {
|
|
43
|
-
tabIndex: {
|
|
44
|
-
defaultValue<T = unknown>(arg: T): {
|
|
45
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
46
|
-
};
|
|
47
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
48
|
-
};
|
|
49
|
-
className: {
|
|
50
|
-
defaultValue<T_1 = unknown>(arg: T_1): {
|
|
51
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
52
|
-
};
|
|
53
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
54
|
-
};
|
|
55
|
-
'aria-disabled': {
|
|
56
|
-
defaultValue<T_2 = unknown>(arg: T_2): {
|
|
57
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
58
|
-
};
|
|
59
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
60
|
-
};
|
|
61
|
-
as: {
|
|
62
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
63
|
-
};
|
|
64
|
-
disabled: {
|
|
65
|
-
defaultValue<T_3 = unknown>(arg: T_3): {
|
|
66
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
67
|
-
};
|
|
68
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
69
|
-
};
|
|
70
|
-
fluidWidth: {
|
|
71
|
-
defaultValue<T_4 = unknown>(arg: T_4): {
|
|
72
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
73
|
-
};
|
|
74
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
75
|
-
};
|
|
76
|
-
labelText: {
|
|
77
|
-
defaultValue<T_5 = unknown>(arg: T_5): {
|
|
78
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
79
|
-
};
|
|
80
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
81
|
-
};
|
|
82
|
-
icon: {
|
|
83
|
-
defaultValue<T_6 = unknown>(arg: T_6): {
|
|
84
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
85
|
-
};
|
|
86
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
87
|
-
};
|
|
88
|
-
leftIcon: {
|
|
89
|
-
defaultValue<T_7 = unknown>(arg: T_7): {
|
|
90
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
91
|
-
};
|
|
92
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
93
|
-
};
|
|
94
|
-
buttonType: {
|
|
95
|
-
defaultValue<T_8 = unknown>(arg: T_8): {
|
|
96
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
97
|
-
};
|
|
98
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
99
|
-
};
|
|
100
|
-
size: {
|
|
101
|
-
defaultValue<T_9 = unknown>(arg: T_9): {
|
|
102
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
103
|
-
};
|
|
104
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
105
|
-
};
|
|
106
|
-
type: {
|
|
107
|
-
defaultValue<T_10 = unknown>(arg: T_10): {
|
|
108
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
109
|
-
};
|
|
110
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
111
|
-
};
|
|
112
|
-
variant: {
|
|
113
|
-
defaultValue<T_11 = unknown>(arg: T_11): {
|
|
114
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
115
|
-
};
|
|
116
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
117
|
-
};
|
|
118
|
-
innerRef: {
|
|
119
|
-
defaultValue<T_12 = unknown>(arg: T_12): {
|
|
120
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
121
|
-
};
|
|
122
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
123
|
-
};
|
|
124
|
-
onBlur: {
|
|
125
|
-
defaultValue<T_13 = unknown>(arg: T_13): {
|
|
126
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
127
|
-
};
|
|
128
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
129
|
-
};
|
|
130
|
-
intent: {
|
|
131
|
-
defaultValue<T_14 = unknown>(arg: T_14): {
|
|
132
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
133
|
-
};
|
|
134
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
135
|
-
};
|
|
136
|
-
containerProps: {
|
|
137
|
-
defaultValue<T_15 = unknown>(arg: T_15): {
|
|
138
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
139
|
-
};
|
|
140
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
141
|
-
};
|
|
142
|
-
onClick: {
|
|
143
|
-
defaultValue<T_16 = unknown>(arg: T_16): {
|
|
144
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
145
|
-
};
|
|
146
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
147
|
-
};
|
|
148
|
-
onKeyPress: {
|
|
149
|
-
defaultValue<T_17 = unknown>(arg: T_17): {
|
|
150
|
-
deprecated: import("react-desc").PropTypesDescValidator;
|
|
151
|
-
};
|
|
152
|
-
isRequired: import("react-desc").PropTypesDescValidator;
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
}, import("styled-components").DefaultTheme, {}, never>;
|
|
156
|
-
export declare const StyledCounterArea: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/types/types").GridPropsT & import("react").RefAttributes<HTMLDivElement>>, import("styled-components").DefaultTheme, {}, never>;
|
|
3
|
+
export declare const StyledComposerButton: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, object, string | number | symbol>;
|
|
4
|
+
export declare const StyledCounterArea: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, object, string | number | symbol>;
|
|
157
5
|
export declare const StyledCounterErrorA11y: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
|
|
@@ -17,25 +17,25 @@ declare const ChatContainer: {
|
|
|
17
17
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
18
18
|
};
|
|
19
19
|
isLoading: {
|
|
20
|
-
defaultValue
|
|
20
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
21
21
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
22
22
|
};
|
|
23
|
-
isRequired: import("react-desc").
|
|
23
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
24
24
|
};
|
|
25
25
|
hasMoreItems: {
|
|
26
|
-
defaultValue
|
|
26
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
27
27
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
28
28
|
};
|
|
29
|
-
isRequired: import("react-desc").
|
|
29
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
30
30
|
};
|
|
31
31
|
getMoreMessages: {
|
|
32
32
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
33
33
|
};
|
|
34
34
|
bannerPosition: {
|
|
35
|
-
defaultValue
|
|
35
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
36
36
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
37
37
|
};
|
|
38
|
-
isRequired: import("react-desc").
|
|
38
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
39
39
|
};
|
|
40
40
|
bannerProps: {
|
|
41
41
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
@@ -11,22 +11,22 @@ declare const ChatContainerMessagesList: {
|
|
|
11
11
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
12
12
|
};
|
|
13
13
|
onScrollEnds: {
|
|
14
|
-
defaultValue
|
|
14
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
15
15
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
16
16
|
};
|
|
17
|
-
isRequired: import("react-desc").
|
|
17
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
18
18
|
};
|
|
19
19
|
isLoading: {
|
|
20
|
-
defaultValue
|
|
20
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
21
21
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
22
22
|
};
|
|
23
|
-
isRequired: import("react-desc").
|
|
23
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
24
24
|
};
|
|
25
25
|
hasMoreItems: {
|
|
26
|
-
defaultValue
|
|
26
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
27
27
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
28
28
|
};
|
|
29
|
-
isRequired: import("react-desc").
|
|
29
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
30
30
|
};
|
|
31
31
|
getMoreMessages: {
|
|
32
32
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
@@ -10,16 +10,16 @@ declare const MessageDelimiter: {
|
|
|
10
10
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
11
11
|
};
|
|
12
12
|
extraProps: {
|
|
13
|
-
defaultValue
|
|
13
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
14
14
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
15
15
|
};
|
|
16
|
-
isRequired: import("react-desc").
|
|
16
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
17
17
|
};
|
|
18
18
|
verticalMargin: {
|
|
19
|
-
defaultValue
|
|
19
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
20
20
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
21
21
|
};
|
|
22
|
-
isRequired: import("react-desc").
|
|
22
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
};
|