stream-chat-react 11.23.2 → 11.23.4
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/dist/{Window-8e652b8c.js → Window-e020d384.js} +10648 -8679
- package/dist/browser.full-bundle.js +8400 -7300
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +10 -10
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Emojis/index.cjs.js +2 -2
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -1
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +3 -0
- package/dist/components/Message/MessageStatus.d.ts.map +1 -1
- package/dist/components/Message/MessageStatus.js +4 -3
- package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +1 -1
- package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts.map +1 -1
- package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts +1 -1
- package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts.map +1 -1
- package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts +1 -1
- package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts.map +1 -1
- package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.js +1 -5
- package/dist/components/Message/renderText/renderText.d.ts +1 -1
- package/dist/components/Message/renderText/renderText.d.ts.map +1 -1
- package/dist/components/Message/renderText/renderText.js +3 -3
- package/dist/components/MessageInput/hooks/useTimeElapsed.js +5 -4
- package/dist/index.cjs.js +3 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('../../Window-
|
|
5
|
+
var Window = require('../../Window-e020d384.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var Picker = require('@emoji-mart/react');
|
|
8
8
|
require('dayjs');
|
|
@@ -31,7 +31,7 @@ require('lodash.debounce');
|
|
|
31
31
|
require('crypto');
|
|
32
32
|
require('react-fast-compare');
|
|
33
33
|
require('react-dom');
|
|
34
|
-
require('
|
|
34
|
+
require('path');
|
|
35
35
|
require('stream-chat');
|
|
36
36
|
require('react-virtuoso');
|
|
37
37
|
require('dayjs/locale/de');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRecordingInProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AA8CnD,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"AudioRecordingInProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AA8CnD,eAAO,MAAM,wBAAwB,yBAiCpC,CAAC"}
|
|
@@ -30,6 +30,9 @@ export var AudioRecordingInProgress = function () {
|
|
|
30
30
|
if (!(recorder === null || recorder === void 0 ? void 0 : recorder.mediaRecorder))
|
|
31
31
|
return;
|
|
32
32
|
var mediaRecorder = recorder.mediaRecorder;
|
|
33
|
+
if (mediaRecorder.state === 'recording') {
|
|
34
|
+
startCounter();
|
|
35
|
+
}
|
|
33
36
|
mediaRecorder.addEventListener('start', startCounter);
|
|
34
37
|
mediaRecorder.addEventListener('resume', startCounter);
|
|
35
38
|
mediaRecorder.addEventListener('stop', stopCounter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAA2C,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEzF,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AAUjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAE/B,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE1C,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE7C,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAExC,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE3C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAA2C,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEzF,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AAUjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAE/B,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE1C,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE7C,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAExC,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE3C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;AAuIF,eAAO,MAAM,aAAa,4FAlIjB,kBAAkB,6BAkIuE,CAAC"}
|
|
@@ -27,9 +27,10 @@ var UnMemoizedMessageStatus = function (props) {
|
|
|
27
27
|
var sending = message.status === 'sending';
|
|
28
28
|
var delivered = message.status === 'received' && message.id === lastReceivedId && !threadList;
|
|
29
29
|
var deliveredAndRead = !!((readBy === null || readBy === void 0 ? void 0 : readBy.length) && !threadList && !justReadByMe);
|
|
30
|
-
var
|
|
30
|
+
var readersWithoutOwnUser = deliveredAndRead
|
|
31
31
|
? readBy.filter(function (item) { var _a; return item.id !== ((_a = client.user) === null || _a === void 0 ? void 0 : _a.id); })
|
|
32
|
-
: []
|
|
32
|
+
: [];
|
|
33
|
+
var lastReadUser = readersWithoutOwnUser[0];
|
|
33
34
|
return (React.createElement("span", { className: rootClassName, "data-testid": clsx({
|
|
34
35
|
'message-status-read-by': deliveredAndRead,
|
|
35
36
|
'message-status-received': delivered && !deliveredAndRead,
|
|
@@ -51,6 +52,6 @@ var UnMemoizedMessageStatus = function (props) {
|
|
|
51
52
|
themeVersion === '1' && (React.createElement(Tooltip, null, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
|
|
52
53
|
themeVersion === '2' && (React.createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
|
|
53
54
|
React.createElement(Avatar, { image: lastReadUser.image, name: lastReadUser.name || lastReadUser.id, size: 15, user: lastReadUser }),
|
|
54
|
-
|
|
55
|
+
readersWithoutOwnUser.length > 1 && (React.createElement("span", { className: "str-chat__message-".concat(messageType, "-status-number"), "data-testid": 'message-status-read-by-many' }, readersWithoutOwnUser.length)))))));
|
|
55
56
|
};
|
|
56
57
|
export var MessageStatus = React.memo(UnMemoizedMessageStatus);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Nodes } from 'hast-util-find-and-replace/lib';
|
|
2
2
|
import type { UserResponse } from 'stream-chat';
|
|
3
|
-
import type { DefaultStreamChatGenerics } from '../../../../types
|
|
3
|
+
import type { DefaultStreamChatGenerics } from '../../../../types';
|
|
4
4
|
export declare const mentionsMarkdownPlugin: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(mentioned_users: UserResponse<StreamChatGenerics>[]) => () => (tree: Nodes) => void;
|
|
5
5
|
//# sourceMappingURL=mentionsMarkdownPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mentionsMarkdownPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mentionsMarkdownPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,sBAAsB,0JAyBR,KAAK,SAoC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlToTextPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/htmlToTextPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"htmlToTextPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/htmlToTextPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAW5D,eAAO,MAAM,gBAAgB,eAJJ,KAAK,SAIiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keepLineBreaksPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"keepLineBreaksPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AA+B5D,eAAO,MAAM,oBAAoB,eAJR,KAAK,SAIqB,CAAC"}
|
|
@@ -2,11 +2,7 @@ import { __spreadArray } from "tslib";
|
|
|
2
2
|
import { visit } from 'unist-util-visit';
|
|
3
3
|
import { u } from 'unist-builder';
|
|
4
4
|
var visitor = function (node, index, parent) {
|
|
5
|
-
if (
|
|
6
|
-
return;
|
|
7
|
-
if (typeof parent === 'undefined')
|
|
8
|
-
return;
|
|
9
|
-
if (!node.position)
|
|
5
|
+
if (!(index && parent && node.position))
|
|
10
6
|
return;
|
|
11
7
|
var prevSibling = parent.children.at(index - 1);
|
|
12
8
|
if (!(prevSibling === null || prevSibling === void 0 ? void 0 : prevSibling.position))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { ComponentType } from 'react';
|
|
2
2
|
import { Options } from 'react-markdown';
|
|
3
3
|
import { MentionProps } from './componentRenderers';
|
|
4
|
-
import type { PluggableList } from 'react-markdown/lib';
|
|
4
|
+
import type { PluggableList } from 'react-markdown/lib/react-markdown';
|
|
5
5
|
import type { UserResponse } from 'stream-chat';
|
|
6
6
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
7
7
|
export type RenderTextPluginConfigurator = (defaultPlugins: PluggableList) => PluggableList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderText.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/renderText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAsB,
|
|
1
|
+
{"version":3,"file":"renderText.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/renderText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAsB,EAAE,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AAKxE,OAAO,EAA0B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,4BAA4B,GAAG,CAAC,cAAc,EAAE,aAAa,KAAK,aAAa,CAAC;AAE5F,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAkB3F,CAAC;AAsBF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,yBAAyB,CAI1E,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IAEF,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,iBAAiB,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3F,uBAAuB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7C,OAAO,CAAC;QACN,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;KAC1D,CAAC,CAAC;IACL,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,UAAU,4FAGd,MAAM,uJAOV,iBAAiB,6BAwFrB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __assign, __spreadArray } from "tslib";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import ReactMarkdown, {
|
|
3
|
+
import ReactMarkdown, { uriTransformer } from 'react-markdown';
|
|
4
4
|
import { find } from 'linkifyjs';
|
|
5
5
|
import uniqBy from 'lodash.uniqby';
|
|
6
6
|
import remarkGfm from 'remark-gfm';
|
|
@@ -43,7 +43,7 @@ function encodeDecode(url) {
|
|
|
43
43
|
return url;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
var urlTransform = function (uri) { return (uri.startsWith('app://') ? uri :
|
|
46
|
+
var urlTransform = function (uri) { return (uri.startsWith('app://') ? uri : uriTransformer(uri)); };
|
|
47
47
|
var getPluginsForward = function (plugins) { return plugins; };
|
|
48
48
|
export var markDownRenderers = {
|
|
49
49
|
a: Anchor,
|
|
@@ -109,5 +109,5 @@ export var renderText = function (text, mentionedUsers, _a) {
|
|
|
109
109
|
if (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) {
|
|
110
110
|
rehypePlugins.push(mentionsMarkdownPlugin(mentionedUsers));
|
|
111
111
|
}
|
|
112
|
-
return (React.createElement(ReactMarkdown, { allowedElements: allowedTagNames, components: __assign(__assign({}, markDownRenderers), customMarkDownRenderers), rehypePlugins: getRehypePlugins(rehypePlugins), remarkPlugins: getRemarkPlugins(remarkPlugins), skipHtml: true,
|
|
112
|
+
return (React.createElement(ReactMarkdown, { allowedElements: allowedTagNames, components: __assign(__assign({}, markDownRenderers), customMarkDownRenderers), rehypePlugins: getRehypePlugins(rehypePlugins), remarkPlugins: getRemarkPlugins(remarkPlugins), skipHtml: true, transformLinkUri: urlTransform, unwrapDisallowed: true }, newText));
|
|
113
113
|
};
|
|
@@ -5,23 +5,24 @@ export var useTimeElapsed = function (_a) {
|
|
|
5
5
|
var _c = useState(0), secondsElapsed = _c[0], setSecondsElapsed = _c[1];
|
|
6
6
|
var updateInterval = useRef();
|
|
7
7
|
var startCounter = useCallback(function () {
|
|
8
|
+
if (updateInterval.current)
|
|
9
|
+
return;
|
|
8
10
|
updateInterval.current = setInterval(function () {
|
|
9
11
|
setSecondsElapsed(function (prev) { return prev + 1; });
|
|
10
12
|
}, 1000);
|
|
11
13
|
}, []);
|
|
12
14
|
var stopCounter = useCallback(function () {
|
|
13
15
|
clearInterval(updateInterval.current);
|
|
16
|
+
updateInterval.current = undefined;
|
|
14
17
|
}, []);
|
|
15
18
|
useEffect(function () {
|
|
16
19
|
if (!startOnMount)
|
|
17
20
|
return;
|
|
18
|
-
|
|
19
|
-
setSecondsElapsed(function (prev) { return prev + 1; });
|
|
20
|
-
}, 1000);
|
|
21
|
+
startCounter();
|
|
21
22
|
return function () {
|
|
22
23
|
stopCounter();
|
|
23
24
|
};
|
|
24
|
-
}, [startOnMount, stopCounter]);
|
|
25
|
+
}, [startCounter, startOnMount, stopCounter]);
|
|
25
26
|
return {
|
|
26
27
|
secondsElapsed: secondsElapsed,
|
|
27
28
|
startCounter: startCounter,
|
package/dist/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('./Window-
|
|
5
|
+
var Window = require('./Window-e020d384.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var streamChat = require('stream-chat');
|
|
8
8
|
var throttle = require('lodash.throttle');
|
|
@@ -32,7 +32,7 @@ require('react-textarea-autosize');
|
|
|
32
32
|
require('textarea-caret');
|
|
33
33
|
require('react-is');
|
|
34
34
|
require('crypto');
|
|
35
|
-
require('
|
|
35
|
+
require('path');
|
|
36
36
|
require('dayjs/locale/de');
|
|
37
37
|
require('dayjs/locale/es');
|
|
38
38
|
require('dayjs/locale/fr');
|
|
@@ -1362,7 +1362,7 @@ function VirtualizedMessageList(props) {
|
|
|
1362
1362
|
return (React__default["default"].createElement(VirtualizedMessageListWithContext, Window.__assign({ channel: channel, channelUnreadUiState: channelUnreadUiState, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
|
|
1363
1363
|
}
|
|
1364
1364
|
|
|
1365
|
-
var version = '11.23.
|
|
1365
|
+
var version = '11.23.4';
|
|
1366
1366
|
|
|
1367
1367
|
var useChat = function (_a) {
|
|
1368
1368
|
var _b, _c;
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "11.23.
|
|
1
|
+
export declare const version = "11.23.4";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '11.23.
|
|
1
|
+
export var version = '11.23.4';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react",
|
|
3
|
-
"version": "11.23.
|
|
3
|
+
"version": "11.23.4",
|
|
4
4
|
"description": "React components to create chat conversations or livestream style chat",
|
|
5
5
|
"author": "GetStream",
|
|
6
6
|
"homepage": "https://getstream.io/chat/",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"react-fast-compare": "^3.2.2",
|
|
84
84
|
"react-image-gallery": "1.2.12",
|
|
85
85
|
"react-is": "^18.1.0",
|
|
86
|
-
"react-markdown": "
|
|
86
|
+
"react-markdown": "^8.0.7",
|
|
87
87
|
"react-player": "2.10.1",
|
|
88
88
|
"react-popper": "^2.3.0",
|
|
89
89
|
"react-textarea-autosize": "^8.3.0",
|