stream-chat-react 10.7.5 → 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.
@@ -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,sBA4CC;IATS,oDAAsB;CAUjC"}
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/CommandItem';
36
- import { UserItem } from '../UserItem/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 _b = this.state, dataLoading = _b.dataLoading, value = _b.value;
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: this._onClickAndBlurHandler, onChange: this._changeHandler, onClick: this._onClickAndBlurHandler, onFocus: this.props.onFocus, onKeyDown: this._handleKeyDown, onScroll: this._onScrollHandler, onSelect: this._selectHandler, ref: function (ref) {
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 }, this.props.additionalTextareaProps, { defaultValue: undefined }))));
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,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,UAAU,mIAIf,MAAM,MACR,MAAM,yCAKX,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"}
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
- return [4 /*yield*/, channel.watch()];
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 [2 /*return*/, channel];
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);
@@ -23898,7 +23900,7 @@ var renderText = function (text, mentionedUsers, _a) {
23898
23900
  return (React__default["default"].createElement(ReactMarkdown, { allowedElements: allowedMarkups, components: rehypeComponents, rehypePlugins: rehypePlugins, remarkPlugins: [[remarkGfm, { singleTilde: false }]], skipHtml: true, transformLinkUri: function (uri) { return (uri.startsWith('app://') ? uri : uriTransformer(uri)); }, unwrapDisallowed: true }, newText));
23899
23901
  };
23900
23902
  function escapeRegExp(text) {
23901
- return text.replace(/[-[\]{}()*+?.,\\^$|#]/g, '\\$&');
23903
+ return text.replace(/[-[\]{}()*+?.,/\\^$|#]/g, '\\$&');
23902
23904
  }
23903
23905
  /**
23904
23906
  * @deprecated will be removed in the next major release
@@ -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: this._onClickAndBlurHandler,
24741
- onChange: this._changeHandler,
24742
- onClick: this._onClickAndBlurHandler,
24743
- onFocus: this.props.onFocus,
24744
- onKeyDown: this._handleKeyDown,
24745
- onScroll: this._onScrollHandler,
24746
- onSelect: this._selectHandler,
24747
- ref: function ref(_ref) {
24748
- var _this2$props;
24749
- (_this2$props = _this2.props) === null || _this2$props === void 0 ? void 0 : _this2$props.innerRef(_ref);
24750
- _this2.textareaRef = _ref;
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
- }, this.props.additionalTextareaProps, {
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
- return [4 /*yield*/, channel.watch()];
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 [2 /*return*/, channel];
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.7.5';
33767
+ var version = '10.8.0';
33713
33768
 
33714
33769
  var useChat = function (_a) {
33715
33770
  var _b, _c;