stream-chat-react 10.7.6 → 10.8.0
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/browser.full-bundle.js +135 -30
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Textarea.js +39 -5
- package/dist/components/ChannelList/utils.d.ts +6 -0
- package/dist/components/ChannelList/utils.d.ts.map +1 -1
- package/dist/components/ChannelList/utils.js +24 -3
- package/dist/components/MessageInput/MessageInput.d.ts +2 -0
- package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +2 -2
- package/dist/index.cjs.js +73 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAkBA;IACE;;;;;;;MAOE;IA2WF;;OAEG;IACH;;;aAMC;IAlXD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAGH;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qCAUE;IAEF,+BAcE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,oDA2CC;IAED,
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAkBA;IACE;;;;;;;MAOE;IA2WF;;OAEG;IACH;;;aAMC;IAlXD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAGH;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qCAUE;IAEF,+BAcE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,oDA2CC;IAED,sBA2EC;IATS,oDAAsB;CAUjC"}
|
|
@@ -24,6 +24,17 @@ var __assign = (this && this.__assign) || function () {
|
|
|
24
24
|
};
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
28
|
+
var t = {};
|
|
29
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
30
|
+
t[p] = s[p];
|
|
31
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
32
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
33
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
34
|
+
t[p[i]] = s[p[i]];
|
|
35
|
+
}
|
|
36
|
+
return t;
|
|
37
|
+
};
|
|
27
38
|
import React from 'react';
|
|
28
39
|
import PropTypes from 'prop-types';
|
|
29
40
|
import Textarea from 'react-textarea-autosize';
|
|
@@ -32,8 +43,8 @@ import { isValidElementType } from 'react-is';
|
|
|
32
43
|
import clsx from 'clsx';
|
|
33
44
|
import { List as DefaultSuggestionList } from './List';
|
|
34
45
|
import { DEFAULT_CARET_POSITION, defaultScrollToItem, errorMessage, triggerPropsCheck, } from './utils';
|
|
35
|
-
import { CommandItem } from '../CommandItem
|
|
36
|
-
import { UserItem } from '../UserItem
|
|
46
|
+
import { CommandItem } from '../CommandItem';
|
|
47
|
+
import { UserItem } from '../UserItem';
|
|
37
48
|
var ReactTextareaAutocomplete = /** @class */ (function (_super) {
|
|
38
49
|
__extends(ReactTextareaAutocomplete, _super);
|
|
39
50
|
function ReactTextareaAutocomplete(props) {
|
|
@@ -540,8 +551,9 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
|
|
|
540
551
|
ReactTextareaAutocomplete.prototype.render = function () {
|
|
541
552
|
var _this = this;
|
|
542
553
|
var _a = this.props, className = _a.className, containerClassName = _a.containerClassName, containerStyle = _a.containerStyle, style = _a.style;
|
|
554
|
+
var _b = this.props.additionalTextareaProps || {}, onBlur = _b.onBlur, onChange = _b.onChange, onClick = _b.onClick, onFocus = _b.onFocus, onKeyDown = _b.onKeyDown, onScroll = _b.onScroll, onSelect = _b.onSelect, restAdditionalTextareaProps = __rest(_b, ["onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onScroll", "onSelect"]);
|
|
543
555
|
var maxRows = this.props.maxRows;
|
|
544
|
-
var
|
|
556
|
+
var _c = this.state, dataLoading = _c.dataLoading, value = _c.value;
|
|
545
557
|
if (!this.props.grow)
|
|
546
558
|
maxRows = 1;
|
|
547
559
|
// By setting defaultValue to undefined, avoid error:
|
|
@@ -551,11 +563,33 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
|
|
|
551
563
|
'rta--loading': dataLoading,
|
|
552
564
|
}), style: containerStyle },
|
|
553
565
|
this.renderSuggestionListContainer(),
|
|
554
|
-
React.createElement(Textarea, __assign({ "data-testid": 'message-input' }, this._cleanUpProps(), { className: clsx('rta__textarea', className), maxRows: maxRows, onBlur:
|
|
566
|
+
React.createElement(Textarea, __assign({ "data-testid": 'message-input' }, this._cleanUpProps(), { className: clsx('rta__textarea', className), maxRows: maxRows, onBlur: function (e) {
|
|
567
|
+
_this._onClickAndBlurHandler(e);
|
|
568
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
569
|
+
}, onChange: function (e) {
|
|
570
|
+
_this._changeHandler(e);
|
|
571
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
572
|
+
}, onClick: function (e) {
|
|
573
|
+
_this._onClickAndBlurHandler(e);
|
|
574
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
575
|
+
}, onFocus: function (e) {
|
|
576
|
+
var _a, _b;
|
|
577
|
+
(_b = (_a = _this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
578
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
|
|
579
|
+
}, onKeyDown: function (e) {
|
|
580
|
+
_this._handleKeyDown(e);
|
|
581
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
582
|
+
}, onScroll: function (e) {
|
|
583
|
+
_this._onScrollHandler(e);
|
|
584
|
+
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
585
|
+
}, onSelect: function (e) {
|
|
586
|
+
_this._selectHandler(e);
|
|
587
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(e);
|
|
588
|
+
}, ref: function (ref) {
|
|
555
589
|
var _a;
|
|
556
590
|
(_a = _this.props) === null || _a === void 0 ? void 0 : _a.innerRef(ref);
|
|
557
591
|
_this.textareaRef = ref;
|
|
558
|
-
}, style: style, value: value },
|
|
592
|
+
}, style: style, value: value }, restAdditionalTextareaProps, { defaultValue: undefined }))));
|
|
559
593
|
};
|
|
560
594
|
ReactTextareaAutocomplete.defaultProps = {
|
|
561
595
|
closeOnClickOutside: true,
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { Channel, StreamChat } from 'stream-chat';
|
|
2
2
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
3
|
+
/**
|
|
4
|
+
* Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
|
|
5
|
+
* @param client
|
|
6
|
+
* @param type
|
|
7
|
+
* @param id
|
|
8
|
+
*/
|
|
3
9
|
export declare const getChannel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(client: StreamChat<StreamChatGenerics>, type: string, id: string) => Promise<Channel<StreamChatGenerics>>;
|
|
4
10
|
export declare const MAX_QUERY_CHANNELS_LIMIT = 30;
|
|
5
11
|
declare type MoveChannelUpParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA2B,UAAU,EAAE,MAAM,aAAa,CAAC;AAGhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAWnE;;;;;GAKG;AACH,eAAO,MAAM,UAAU,mIAIf,MAAM,MACR,MAAM,yCAaX,CAAC;AAEF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,aAAK,mBAAmB,CACtB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,aAAa,iMAgBzB,CAAC"}
|
|
@@ -44,16 +44,37 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
44
44
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
45
|
};
|
|
46
46
|
import uniqBy from 'lodash.uniqby';
|
|
47
|
+
/**
|
|
48
|
+
* prevent from duplicate invocation of channel.watch()
|
|
49
|
+
* when events 'notification.message_new' and 'notification.added_to_channel' arrive at the same time
|
|
50
|
+
*/
|
|
51
|
+
var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
|
|
52
|
+
/**
|
|
53
|
+
* Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
|
|
54
|
+
* @param client
|
|
55
|
+
* @param type
|
|
56
|
+
* @param id
|
|
57
|
+
*/
|
|
47
58
|
export var getChannel = function (client, type, id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
-
var channel;
|
|
59
|
+
var channel, queryPromise;
|
|
49
60
|
return __generator(this, function (_a) {
|
|
50
61
|
switch (_a.label) {
|
|
51
62
|
case 0:
|
|
52
63
|
channel = client.channel(type, id);
|
|
53
|
-
|
|
64
|
+
queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid];
|
|
65
|
+
if (!queryPromise) return [3 /*break*/, 2];
|
|
66
|
+
return [4 /*yield*/, queryPromise];
|
|
54
67
|
case 1:
|
|
55
68
|
_a.sent();
|
|
56
|
-
return [
|
|
69
|
+
return [3 /*break*/, 4];
|
|
70
|
+
case 2:
|
|
71
|
+
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = channel.watch();
|
|
72
|
+
return [4 /*yield*/, WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid]];
|
|
73
|
+
case 3:
|
|
74
|
+
_a.sent();
|
|
75
|
+
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = undefined;
|
|
76
|
+
_a.label = 4;
|
|
77
|
+
case 4: return [2 /*return*/, channel];
|
|
57
78
|
}
|
|
58
79
|
});
|
|
59
80
|
}); };
|
|
@@ -27,6 +27,8 @@ export declare type MessageInputProps<StreamChatGenerics extends DefaultStreamCh
|
|
|
27
27
|
}) => void;
|
|
28
28
|
/** If true, focuses the text input on component mount */
|
|
29
29
|
focus?: boolean;
|
|
30
|
+
/** Generates the default value for the underlying textarea element. The function's return value takes precedence before additionalTextareaProps.defaultValue. */
|
|
31
|
+
getDefaultValue?: () => string | string[];
|
|
30
32
|
/** If true, expands the text input vertically for new lines */
|
|
31
33
|
grow?: boolean;
|
|
32
34
|
/** Custom UI component handling how the message input is rendered, defaults to and accepts the same props as [MessageInputFlat](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/MessageInputFlat.tsx) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -151,9 +151,9 @@ var messageInputReducer = function (state, action) {
|
|
|
151
151
|
* hook for MessageInput state
|
|
152
152
|
*/
|
|
153
153
|
export var useMessageInputState = function (props) {
|
|
154
|
-
var additionalTextareaProps = props.additionalTextareaProps, closeEmojiPickerOnClick = props.closeEmojiPickerOnClick, message = props.message;
|
|
154
|
+
var additionalTextareaProps = props.additionalTextareaProps, closeEmojiPickerOnClick = props.closeEmojiPickerOnClick, getDefaultValue = props.getDefaultValue, message = props.message;
|
|
155
155
|
var _a = useChannelStateContext('useMessageInputState'), _b = _a.channelCapabilities, channelCapabilities = _b === void 0 ? {} : _b, channelConfig = _a.channelConfig;
|
|
156
|
-
var defaultValue = additionalTextareaProps === null || additionalTextareaProps === void 0 ? void 0 : additionalTextareaProps.defaultValue;
|
|
156
|
+
var defaultValue = (getDefaultValue === null || getDefaultValue === void 0 ? void 0 : getDefaultValue()) || (additionalTextareaProps === null || additionalTextareaProps === void 0 ? void 0 : additionalTextareaProps.defaultValue);
|
|
157
157
|
var initialStateValue = message ||
|
|
158
158
|
(Array.isArray(defaultValue)
|
|
159
159
|
? { text: defaultValue.join('') }
|
package/dist/index.cjs.js
CHANGED
|
@@ -37,6 +37,7 @@ var uniqBy = require('lodash.uniqby');
|
|
|
37
37
|
var PropTypes = require('prop-types');
|
|
38
38
|
var ReactIs = require('react-is');
|
|
39
39
|
var path$1 = require('path');
|
|
40
|
+
var _objectWithoutProperties$1 = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
40
41
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
41
42
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
42
43
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
@@ -97,6 +98,7 @@ var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
|
|
|
97
98
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
98
99
|
var ReactIs__default = /*#__PURE__*/_interopDefaultLegacy(ReactIs);
|
|
99
100
|
var path__default = /*#__PURE__*/_interopDefaultLegacy(path$1);
|
|
101
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties$1);
|
|
100
102
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
101
103
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
102
104
|
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
@@ -24209,6 +24211,7 @@ var UnMemoizedUserItem = function (_a) {
|
|
|
24209
24211
|
};
|
|
24210
24212
|
var UserItem = React__default["default"].memo(UnMemoizedUserItem);
|
|
24211
24213
|
|
|
24214
|
+
var _excluded$1 = ["onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onScroll", "onSelect"];
|
|
24212
24215
|
function ownKeys$2(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; }
|
|
24213
24216
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24214
24217
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
@@ -24717,6 +24720,15 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24717
24720
|
containerClassName = _this$props8.containerClassName,
|
|
24718
24721
|
containerStyle = _this$props8.containerStyle,
|
|
24719
24722
|
style = _this$props8.style;
|
|
24723
|
+
var _ref = this.props.additionalTextareaProps || {},
|
|
24724
|
+
_onBlur = _ref.onBlur,
|
|
24725
|
+
_onChange = _ref.onChange,
|
|
24726
|
+
_onClick = _ref.onClick,
|
|
24727
|
+
_onFocus = _ref.onFocus,
|
|
24728
|
+
_onKeyDown = _ref.onKeyDown,
|
|
24729
|
+
_onScroll = _ref.onScroll,
|
|
24730
|
+
_onSelect = _ref.onSelect,
|
|
24731
|
+
restAdditionalTextareaProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
24720
24732
|
var maxRows = this.props.maxRows;
|
|
24721
24733
|
var _this$state7 = this.state,
|
|
24722
24734
|
dataLoading = _this$state7.dataLoading,
|
|
@@ -24737,21 +24749,43 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24737
24749
|
}, this._cleanUpProps(), {
|
|
24738
24750
|
className: clsx('rta__textarea', className),
|
|
24739
24751
|
maxRows: maxRows,
|
|
24740
|
-
onBlur:
|
|
24741
|
-
|
|
24742
|
-
|
|
24743
|
-
|
|
24744
|
-
|
|
24745
|
-
|
|
24746
|
-
|
|
24747
|
-
|
|
24748
|
-
|
|
24749
|
-
|
|
24750
|
-
|
|
24752
|
+
onBlur: function onBlur(e) {
|
|
24753
|
+
_this2._onClickAndBlurHandler(e);
|
|
24754
|
+
_onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e);
|
|
24755
|
+
},
|
|
24756
|
+
onChange: function onChange(e) {
|
|
24757
|
+
_this2._changeHandler(e);
|
|
24758
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange(e);
|
|
24759
|
+
},
|
|
24760
|
+
onClick: function onClick(e) {
|
|
24761
|
+
_this2._onClickAndBlurHandler(e);
|
|
24762
|
+
_onClick === null || _onClick === void 0 ? void 0 : _onClick(e);
|
|
24763
|
+
},
|
|
24764
|
+
onFocus: function onFocus(e) {
|
|
24765
|
+
var _this2$props$onFocus, _this2$props;
|
|
24766
|
+
(_this2$props$onFocus = (_this2$props = _this2.props).onFocus) === null || _this2$props$onFocus === void 0 ? void 0 : _this2$props$onFocus.call(_this2$props, e);
|
|
24767
|
+
_onFocus === null || _onFocus === void 0 ? void 0 : _onFocus(e);
|
|
24768
|
+
},
|
|
24769
|
+
onKeyDown: function onKeyDown(e) {
|
|
24770
|
+
_this2._handleKeyDown(e);
|
|
24771
|
+
_onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e);
|
|
24772
|
+
},
|
|
24773
|
+
onScroll: function onScroll(e) {
|
|
24774
|
+
_this2._onScrollHandler(e);
|
|
24775
|
+
_onScroll === null || _onScroll === void 0 ? void 0 : _onScroll(e);
|
|
24776
|
+
},
|
|
24777
|
+
onSelect: function onSelect(e) {
|
|
24778
|
+
_this2._selectHandler(e);
|
|
24779
|
+
_onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(e);
|
|
24780
|
+
},
|
|
24781
|
+
ref: function ref(_ref2) {
|
|
24782
|
+
var _this2$props2;
|
|
24783
|
+
(_this2$props2 = _this2.props) === null || _this2$props2 === void 0 ? void 0 : _this2$props2.innerRef(_ref2);
|
|
24784
|
+
_this2.textareaRef = _ref2;
|
|
24751
24785
|
},
|
|
24752
24786
|
style: style,
|
|
24753
24787
|
value: value
|
|
24754
|
-
},
|
|
24788
|
+
}, restAdditionalTextareaProps, {
|
|
24755
24789
|
defaultValue: undefined
|
|
24756
24790
|
})));
|
|
24757
24791
|
}
|
|
@@ -30990,9 +31024,9 @@ var messageInputReducer = function (state, action) {
|
|
|
30990
31024
|
* hook for MessageInput state
|
|
30991
31025
|
*/
|
|
30992
31026
|
var useMessageInputState = function (props) {
|
|
30993
|
-
var additionalTextareaProps = props.additionalTextareaProps, closeEmojiPickerOnClick = props.closeEmojiPickerOnClick, message = props.message;
|
|
31027
|
+
var additionalTextareaProps = props.additionalTextareaProps, closeEmojiPickerOnClick = props.closeEmojiPickerOnClick, getDefaultValue = props.getDefaultValue, message = props.message;
|
|
30994
31028
|
var _a = useChannelStateContext('useMessageInputState'), _b = _a.channelCapabilities, channelCapabilities = _b === void 0 ? {} : _b, channelConfig = _a.channelConfig;
|
|
30995
|
-
var defaultValue = additionalTextareaProps === null || additionalTextareaProps === void 0 ? void 0 : additionalTextareaProps.defaultValue;
|
|
31029
|
+
var defaultValue = (getDefaultValue === null || getDefaultValue === void 0 ? void 0 : getDefaultValue()) || (additionalTextareaProps === null || additionalTextareaProps === void 0 ? void 0 : additionalTextareaProps.defaultValue);
|
|
30996
31030
|
var initialStateValue = message ||
|
|
30997
31031
|
(Array.isArray(defaultValue)
|
|
30998
31032
|
? { text: defaultValue.join('') }
|
|
@@ -32798,16 +32832,37 @@ var useChannelUpdatedListener = function (setChannels, customHandler, forceUpdat
|
|
|
32798
32832
|
}, [customHandler]);
|
|
32799
32833
|
};
|
|
32800
32834
|
|
|
32835
|
+
/**
|
|
32836
|
+
* prevent from duplicate invocation of channel.watch()
|
|
32837
|
+
* when events 'notification.message_new' and 'notification.added_to_channel' arrive at the same time
|
|
32838
|
+
*/
|
|
32839
|
+
var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
|
|
32840
|
+
/**
|
|
32841
|
+
* Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
|
|
32842
|
+
* @param client
|
|
32843
|
+
* @param type
|
|
32844
|
+
* @param id
|
|
32845
|
+
*/
|
|
32801
32846
|
var getChannel = function (client, type, id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
32802
|
-
var channel;
|
|
32847
|
+
var channel, queryPromise;
|
|
32803
32848
|
return __generator(this, function (_a) {
|
|
32804
32849
|
switch (_a.label) {
|
|
32805
32850
|
case 0:
|
|
32806
32851
|
channel = client.channel(type, id);
|
|
32807
|
-
|
|
32852
|
+
queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid];
|
|
32853
|
+
if (!queryPromise) return [3 /*break*/, 2];
|
|
32854
|
+
return [4 /*yield*/, queryPromise];
|
|
32808
32855
|
case 1:
|
|
32809
32856
|
_a.sent();
|
|
32810
|
-
return [
|
|
32857
|
+
return [3 /*break*/, 4];
|
|
32858
|
+
case 2:
|
|
32859
|
+
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = channel.watch();
|
|
32860
|
+
return [4 /*yield*/, WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid]];
|
|
32861
|
+
case 3:
|
|
32862
|
+
_a.sent();
|
|
32863
|
+
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = undefined;
|
|
32864
|
+
_a.label = 4;
|
|
32865
|
+
case 4: return [2 /*return*/, channel];
|
|
32811
32866
|
}
|
|
32812
32867
|
});
|
|
32813
32868
|
}); };
|
|
@@ -33709,7 +33764,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
33709
33764
|
*/
|
|
33710
33765
|
var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
|
|
33711
33766
|
|
|
33712
|
-
var version = '10.
|
|
33767
|
+
var version = '10.8.0';
|
|
33713
33768
|
|
|
33714
33769
|
var useChat = function (_a) {
|
|
33715
33770
|
var _b, _c;
|