stream-chat-react 6.11.0 → 6.12.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.
Files changed (99) hide show
  1. package/dist/browser.full-bundle.js +321 -168
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +2 -2
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  6. package/dist/components/AutoCompleteTextarea/Textarea.js +23 -13
  7. package/dist/components/Channel/Channel.d.ts +8 -3
  8. package/dist/components/Channel/Channel.d.ts.map +1 -1
  9. package/dist/components/Channel/Channel.js +15 -8
  10. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
  11. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +6 -5
  12. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  13. package/dist/components/ChannelList/ChannelList.js +4 -7
  14. package/dist/components/ChannelList/ChannelListMessenger.d.ts +2 -0
  15. package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
  16. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  17. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +1 -0
  18. package/dist/components/Chat/Chat.d.ts.map +1 -1
  19. package/dist/components/Chat/Chat.js +2 -1
  20. package/dist/components/Chat/hooks/useChat.d.ts +2 -1
  21. package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
  22. package/dist/components/Chat/hooks/useChat.js +13 -6
  23. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  24. package/dist/components/Chat/hooks/useCreateChatContext.js +3 -2
  25. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  26. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +1 -1
  27. package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
  28. package/dist/components/Message/QuotedMessage.js +4 -3
  29. package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  30. package/dist/components/Message/hooks/useReactionHandler.js +15 -12
  31. package/dist/components/Message/utils.d.ts.map +1 -1
  32. package/dist/components/Message/utils.js +8 -4
  33. package/dist/components/MessageInput/DropzoneProvider.d.ts +5 -0
  34. package/dist/components/MessageInput/DropzoneProvider.d.ts.map +1 -0
  35. package/dist/components/MessageInput/DropzoneProvider.js +31 -0
  36. package/dist/components/MessageInput/MessageInput.d.ts +2 -2
  37. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  38. package/dist/components/MessageInput/MessageInput.js +16 -6
  39. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  40. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +6 -1
  41. package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
  42. package/dist/components/MessageInput/hooks/useFileUploads.js +29 -13
  43. package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
  44. package/dist/components/MessageInput/hooks/useImageUploads.js +29 -13
  45. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +14 -3
  46. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  47. package/dist/components/MessageInput/hooks/useMessageInputState.js +13 -4
  48. package/dist/components/MessageInput/hooks/utils.d.ts +14 -1
  49. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
  50. package/dist/components/MessageInput/hooks/utils.js +53 -0
  51. package/dist/components/MessageList/MessageList.d.ts +3 -0
  52. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  53. package/dist/components/MessageList/MessageList.js +2 -1
  54. package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts +1 -0
  55. package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts.map +1 -1
  56. package/dist/components/MessageList/hooks/useEnrichedMessages.js +3 -2
  57. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  58. package/dist/components/MessageList/hooks/useMessageListElements.js +1 -1
  59. package/dist/components/MessageList/index.d.ts +1 -0
  60. package/dist/components/MessageList/index.d.ts.map +1 -1
  61. package/dist/components/MessageList/index.js +1 -0
  62. package/dist/components/TypingIndicator/TypingIndicator.d.ts +3 -3
  63. package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  64. package/dist/components/TypingIndicator/TypingIndicator.js +6 -3
  65. package/dist/context/ChannelStateContext.d.ts +2 -1
  66. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  67. package/dist/context/ChatContext.d.ts +2 -1
  68. package/dist/context/ChatContext.d.ts.map +1 -1
  69. package/dist/context/ComponentContext.d.ts +1 -1
  70. package/dist/context/ComponentContext.d.ts.map +1 -1
  71. package/dist/context/MessageInputContext.d.ts +2 -2
  72. package/dist/context/MessageInputContext.d.ts.map +1 -1
  73. package/dist/css/index.css +1 -1
  74. package/dist/i18n/Streami18n.d.ts +1 -0
  75. package/dist/i18n/Streami18n.d.ts.map +1 -1
  76. package/dist/i18n/de.json +1 -0
  77. package/dist/i18n/en.json +1 -0
  78. package/dist/i18n/es.json +1 -0
  79. package/dist/i18n/fr.json +1 -0
  80. package/dist/i18n/hi.json +1 -0
  81. package/dist/i18n/it.json +1 -0
  82. package/dist/i18n/ja.json +1 -0
  83. package/dist/i18n/ko.json +1 -0
  84. package/dist/i18n/nl.json +1 -0
  85. package/dist/i18n/pt.json +1 -0
  86. package/dist/i18n/ru.json +1 -0
  87. package/dist/i18n/tr.json +1 -0
  88. package/dist/index.cjs.js +318 -165
  89. package/dist/index.cjs.js.map +1 -1
  90. package/dist/scss/Message.scss +5 -5
  91. package/dist/scss/MessageInputFlat.scss +4 -0
  92. package/dist/scss/_base.scss +4 -0
  93. package/dist/types/types.d.ts +1 -0
  94. package/dist/types/types.d.ts.map +1 -1
  95. package/dist/utils.js +1 -1
  96. package/dist/version.d.ts +1 -1
  97. package/dist/version.js +1 -1
  98. package/package.json +9 -6
  99. package/CHANGELOG.md +0 -1633
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
- import { Avatar } from '../Avatar';
2
+ import { Avatar as DefaultAvatar } from '../Avatar';
3
3
  import { useComponentContext } from '../../context/ComponentContext';
4
4
  import { useMessageContext } from '../../context/MessageContext';
5
5
  import { useTranslationContext } from '../../context/TranslationContext';
6
6
  export var QuotedMessage = function () {
7
7
  var _a, _b;
8
- var Attachment = useComponentContext('QuotedMessage').Attachment;
9
- var _c = useMessageContext('QuotedMessage'), isMyMessage = _c.isMyMessage, message = _c.message;
8
+ var _c = useComponentContext('QuotedMessage'), Attachment = _c.Attachment, ContextAvatar = _c.Avatar;
9
+ var _d = useMessageContext('QuotedMessage'), isMyMessage = _d.isMyMessage, message = _d.message;
10
10
  var userLanguage = useTranslationContext('QuotedMessage').userLanguage;
11
+ var Avatar = ContextAvatar || DefaultAvatar;
11
12
  var quoted_message = message.quoted_message;
12
13
  if (!quoted_message)
13
14
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,gpBAsFD,MAAM,kFAmCnC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;CA4G5B,CAAC"}
1
+ {"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,gpBAsFD,MAAM,kFAmCnC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;CA+G5B,CAAC"}
@@ -94,32 +94,33 @@ export var useReactionHandler = function (message) {
94
94
  };
95
95
  var toggleReaction = throttle(function (id, type, add) { return __awaiter(void 0, void 0, void 0, function () {
96
96
  var newReaction, tempMessage, messageResponse, _a, error_1;
97
- return __generator(this, function (_b) {
98
- switch (_b.label) {
97
+ var _b;
98
+ return __generator(this, function (_c) {
99
+ switch (_c.label) {
99
100
  case 0:
100
- if (!message)
101
+ if (!message || ((_b = channel.data) === null || _b === void 0 ? void 0 : _b.frozen))
101
102
  return [2 /*return*/];
102
103
  newReaction = creatReactionPreview(type);
103
104
  tempMessage = createMessagePreview(add, newReaction, message);
104
- _b.label = 1;
105
+ _c.label = 1;
105
106
  case 1:
106
- _b.trys.push([1, 6, , 7]);
107
+ _c.trys.push([1, 6, , 7]);
107
108
  updateMessage(tempMessage);
108
109
  if (!add) return [3 /*break*/, 3];
109
110
  return [4 /*yield*/, channel.sendReaction(id, { type: type })];
110
111
  case 2:
111
- _a = _b.sent();
112
+ _a = _c.sent();
112
113
  return [3 /*break*/, 5];
113
114
  case 3: return [4 /*yield*/, channel.deleteReaction(id, type)];
114
115
  case 4:
115
- _a = _b.sent();
116
- _b.label = 5;
116
+ _a = _c.sent();
117
+ _c.label = 5;
117
118
  case 5:
118
119
  messageResponse = _a;
119
120
  updateMessage(messageResponse.message);
120
121
  return [3 /*break*/, 7];
121
122
  case 6:
122
- error_1 = _b.sent();
123
+ error_1 = _c.sent();
123
124
  // revert to the original message if the API call fails
124
125
  updateMessage(message);
125
126
  return [3 /*break*/, 7];
@@ -174,10 +175,12 @@ export var useReactionHandler = function (message) {
174
175
  }); };
175
176
  };
176
177
  export var useReactionClick = function (message, reactionSelectorRef, messageWrapperRef, closeReactionSelectorOnClick) {
177
- var _a = useChannelStateContext('useReactionClick'), _b = _a.channelCapabilities, channelCapabilities = _b === void 0 ? {} : _b, channelConfig = _a.channelConfig;
178
- var _c = useState(false), showDetailedReactions = _c[0], setShowDetailedReactions = _c[1];
178
+ var _a;
179
+ var _b = useChannelStateContext('useReactionClick'), channel = _b.channel, _c = _b.channelCapabilities, channelCapabilities = _c === void 0 ? {} : _c, channelConfig = _b.channelConfig;
180
+ var _d = useState(false), showDetailedReactions = _d[0], setShowDetailedReactions = _d[1];
179
181
  var hasListener = useRef(false);
180
- var isReactionEnabled = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction'];
182
+ var isFrozen = !!((_a = channel.data) === null || _a === void 0 ? void 0 : _a.frozen);
183
+ var isReactionEnabled = ((channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction']) || isFrozen;
181
184
  var messageDeleted = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
182
185
  var closeDetailedReactions = useCallback(function (event) {
183
186
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,4oBAgBvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAC;AAEF,oBAAY,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAChE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAC9E,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,cAwDnC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,mBAAmB,GAAG,OAAO,kFAC0C,YAAY,gCA+C7F,CAAC;AAEF,eAAO,MAAM,qBAAqB,mDAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;aAoDhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aAiDlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,ynBAUqC,CAAC;AAEtE,eAAO,MAAM,qBAAqB,ynBAUyB,CAAC;AAE5D,eAAO,MAAM,SAAS,wjBAcrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,wjBAclC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4kBAU5B,SAAS,2DA6Cb,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,4oBAgBvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAC;AAEF,oBAAY,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAChE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAC9E,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,cAwDnC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,mBAAmB,GAAG,OAAO,kFAC0C,YAAY,gCA+C7F,CAAC;AAEF,eAAO,MAAM,qBAAqB,mDAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;aAsDhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aAmDlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,ynBAUqC,CAAC;AAEtE,eAAO,MAAM,qBAAqB,ynBAUyB,CAAC;AAE5D,eAAO,MAAM,SAAS,wjBAcrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,wjBAclC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4kBAU5B,SAAS,2DA6Cb,CAAC"}
@@ -152,7 +152,7 @@ export var showMessageActionsBox = function (actions) {
152
152
  return true;
153
153
  };
154
154
  export var areMessagePropsEqual = function (prevProps, nextProps) {
155
- var _a, _b, _c, _d;
155
+ var _a, _b, _c, _d, _e, _f, _g, _h;
156
156
  var prevMessage = prevProps.message, prevMessageUI = prevProps.Message;
157
157
  var nextMessage = nextProps.message, nextMessageUI = nextProps.Message;
158
158
  if (prevMessageUI !== nextMessageUI)
@@ -170,7 +170,9 @@ export var areMessagePropsEqual = function (prevProps, nextProps) {
170
170
  prevMessage.status === nextMessage.status &&
171
171
  prevMessage.text === nextMessage.text &&
172
172
  prevMessage.type === nextMessage.type &&
173
- prevMessage.updated_at === nextMessage.updated_at;
173
+ prevMessage.updated_at === nextMessage.updated_at &&
174
+ ((_e = prevMessage.user) === null || _e === void 0 ? void 0 : _e.image) === ((_f = nextMessage.user) === null || _f === void 0 ? void 0 : _f.image) &&
175
+ ((_g = prevMessage.user) === null || _g === void 0 ? void 0 : _g.name) === ((_h = nextMessage.user) === null || _h === void 0 ? void 0 : _h.name);
174
176
  if (!messagesAreEqual)
175
177
  return false;
176
178
  var deepEqualProps = deepequal(nextProps.readBy, prevProps.readBy) &&
@@ -183,7 +185,7 @@ export var areMessagePropsEqual = function (prevProps, nextProps) {
183
185
  );
184
186
  };
185
187
  export var areMessageUIPropsEqual = function (prevProps, nextProps) {
186
- var _a, _b, _c, _d, _e, _f, _g, _h;
188
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
187
189
  var prevLastReceivedId = prevProps.lastReceivedId, prevMessage = prevProps.message;
188
190
  var nextLastReceivedId = nextProps.lastReceivedId, nextMessage = nextProps.message;
189
191
  if (prevProps.editing !== nextProps.editing)
@@ -209,7 +211,9 @@ export var areMessageUIPropsEqual = function (prevProps, nextProps) {
209
211
  prevMessage.status === nextMessage.status &&
210
212
  prevMessage.text === nextMessage.text &&
211
213
  prevMessage.type === nextMessage.type &&
212
- prevMessage.updated_at === nextMessage.updated_at;
214
+ prevMessage.updated_at === nextMessage.updated_at &&
215
+ ((_j = prevMessage.user) === null || _j === void 0 ? void 0 : _j.image) === ((_k = nextMessage.user) === null || _k === void 0 ? void 0 : _k.image) &&
216
+ ((_l = prevMessage.user) === null || _l === void 0 ? void 0 : _l.name) === ((_m = nextMessage.user) === null || _m === void 0 ? void 0 : _m.name);
213
217
  if (!messagesAreEqual)
214
218
  return false;
215
219
  return true;
@@ -0,0 +1,5 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import type { MessageInputProps } from './MessageInput';
3
+ import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType, UnknownType } from '../../types/types';
4
+ export declare const DropzoneProvider: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends UnknownType = UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends UnknownType = UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(props: React.PropsWithChildren<MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>>) => JSX.Element;
5
+ //# sourceMappingURL=DropzoneProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropzoneProvider.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/DropzoneProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAajD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EACf,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAsC3B,eAAO,MAAM,gBAAgB,ukBA0B5B,CAAC"}
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { ImageDropzone } from 'react-file-utils';
14
+ import { useCooldownTimer } from './hooks/useCooldownTimer';
15
+ import { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';
16
+ import { useMessageInputState } from './hooks/useMessageInputState';
17
+ import { useChannelStateContext } from '../../context/ChannelStateContext';
18
+ import { MessageInputContextProvider, useMessageInputContext, } from '../../context/MessageInputContext';
19
+ var DropzoneInner = function (_a) {
20
+ var children = _a.children;
21
+ var _b = useChannelStateContext('DropzoneProvider'), acceptedFiles = _b.acceptedFiles, multipleUploads = _b.multipleUploads;
22
+ var _c = useMessageInputContext('DropzoneProvider'), cooldownRemaining = _c.cooldownRemaining, isUploadEnabled = _c.isUploadEnabled, maxFilesLeft = _c.maxFilesLeft, uploadNewFiles = _c.uploadNewFiles;
23
+ return (React.createElement(ImageDropzone, { accept: acceptedFiles, disabled: !isUploadEnabled || maxFilesLeft === 0 || !!cooldownRemaining, handleFiles: uploadNewFiles, maxNumberOfFiles: maxFilesLeft, multiple: multipleUploads }, children));
24
+ };
25
+ export var DropzoneProvider = function (props) {
26
+ var cooldownTimerState = useCooldownTimer();
27
+ var messageInputState = useMessageInputState(props);
28
+ var messageInputContextValue = useCreateMessageInputContext(__assign(__assign(__assign({}, cooldownTimerState), messageInputState), props));
29
+ return (React.createElement(MessageInputContextProvider, { value: messageInputContextValue },
30
+ React.createElement(DropzoneInner, null, props.children)));
31
+ };
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
+ import { FileUpload, ImageUpload } from './hooks/useMessageInputState';
3
+ import { StreamMessage } from '../../context/ChannelStateContext';
2
4
  import type { Channel, SendFileAPIResponse } from 'stream-chat';
3
- import type { FileUpload, ImageUpload } from './hooks/useMessageInputState';
4
5
  import type { SearchQueryParams } from '../ChannelSearch/ChannelSearch';
5
6
  import type { MessageToSend } from '../../context/ChannelActionContext';
6
- import type { StreamMessage } from '../../context/ChannelStateContext';
7
7
  import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../types/types';
8
8
  export declare type MessageInputProps<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType, V extends CustomTrigger = CustomTrigger> = {
9
9
  /** Additional props to be passed to the underlying `AutoCompleteTextarea` component, [available props](https://www.npmjs.com/package/react-textarea-autosize) */
@@ -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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"}
@@ -9,22 +9,32 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import React from 'react';
12
+ import React, { useMemo } from 'react';
13
13
  import { DefaultTriggerProvider } from './DefaultTriggerProvider';
14
14
  import { MessageInputFlat } from './MessageInputFlat';
15
15
  import { useCooldownTimer } from './hooks/useCooldownTimer';
16
16
  import { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';
17
17
  import { useMessageInputState } from './hooks/useMessageInputState';
18
- import { MessageInputContextProvider } from '../../context/MessageInputContext';
18
+ import { useChannelStateContext } from '../../context/ChannelStateContext';
19
19
  import { useComponentContext } from '../../context/ComponentContext';
20
+ import { MessageInputContextProvider } from '../../context/MessageInputContext';
21
+ var MessageInputProvider = function (props) {
22
+ var cooldownTimerState = useCooldownTimer();
23
+ var messageInputState = useMessageInputState(props);
24
+ var messageInputContextValue = useCreateMessageInputContext(__assign(__assign(__assign({}, cooldownTimerState), messageInputState), props));
25
+ return (React.createElement(MessageInputContextProvider, { value: messageInputContextValue }, props.children));
26
+ };
20
27
  var UnMemoizedMessageInput = function (props) {
21
28
  var PropInput = props.Input;
29
+ var dragAndDropWindow = useChannelStateContext().dragAndDropWindow;
22
30
  var _a = useComponentContext('MessageInput'), ContextInput = _a.Input, _b = _a.TriggerProvider, TriggerProvider = _b === void 0 ? DefaultTriggerProvider : _b;
23
31
  var Input = PropInput || ContextInput || MessageInputFlat;
24
- var messageInputState = useMessageInputState(props);
25
- var cooldownTimerState = useCooldownTimer();
26
- var messageInputContextValue = useCreateMessageInputContext(__assign(__assign(__assign({}, cooldownTimerState), messageInputState), props));
27
- return (React.createElement(MessageInputContextProvider, { value: messageInputContextValue },
32
+ var NullProvider = function (_a) {
33
+ var children = _a.children;
34
+ return React.createElement(React.Fragment, null, children);
35
+ };
36
+ var OptionalMessageInputProvider = useMemo(function () { return (dragAndDropWindow ? NullProvider : MessageInputProvider); }, [dragAndDropWindow]);
37
+ return (React.createElement(OptionalMessageInputProvider, __assign({}, props),
28
38
  React.createElement(TriggerProvider, null,
29
39
  React.createElement(Input, null))));
30
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateMessageInputContext.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCreateMessageInputContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,4BAA4B,guBA4JxC,CAAC"}
1
+ {"version":3,"file":"useCreateMessageInputContext.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCreateMessageInputContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,4BAA4B,guBAoKxC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { useMemo } from 'react';
2
2
  export var useCreateMessageInputContext = function (value) {
3
- var additionalTextareaProps = value.additionalTextareaProps, attachments = value.attachments, autocompleteTriggers = value.autocompleteTriggers, clearEditingState = value.clearEditingState, closeCommandsList = value.closeCommandsList, closeEmojiPicker = value.closeEmojiPicker, cooldownInterval = value.cooldownInterval, cooldownRemaining = value.cooldownRemaining, disabled = value.disabled, disableMentions = value.disableMentions, doFileUploadRequest = value.doFileUploadRequest, doImageUploadRequest = value.doImageUploadRequest, emojiIndex = value.emojiIndex, emojiPickerIsOpen = value.emojiPickerIsOpen, emojiPickerRef = value.emojiPickerRef, errorHandler = value.errorHandler, fileOrder = value.fileOrder, fileUploads = value.fileUploads, focus = value.focus, grow = value.grow, handleChange = value.handleChange, handleEmojiKeyDown = value.handleEmojiKeyDown, handleSubmit = value.handleSubmit, imageOrder = value.imageOrder, imageUploads = value.imageUploads, insertText = value.insertText, isUploadEnabled = value.isUploadEnabled, keycodeSubmitKeys = value.keycodeSubmitKeys, maxFilesLeft = value.maxFilesLeft, maxRows = value.maxRows, mentionAllAppUsers = value.mentionAllAppUsers, mentioned_users = value.mentioned_users, mentionQueryParams = value.mentionQueryParams, message = value.message, noFiles = value.noFiles, numberOfUploads = value.numberOfUploads, onPaste = value.onPaste, onSelectEmoji = value.onSelectEmoji, onSelectUser = value.onSelectUser, openCommandsList = value.openCommandsList, openEmojiPicker = value.openEmojiPicker, overrideSubmitHandler = value.overrideSubmitHandler, parent = value.parent, publishTypingEvent = value.publishTypingEvent, removeFile = value.removeFile, removeImage = value.removeImage, setCooldownRemaining = value.setCooldownRemaining, setText = value.setText, showCommandsList = value.showCommandsList, text = value.text, textareaRef = value.textareaRef, uploadFile = value.uploadFile, uploadImage = value.uploadImage, uploadNewFiles = value.uploadNewFiles, useMentionsTransliteration = value.useMentionsTransliteration;
3
+ var additionalTextareaProps = value.additionalTextareaProps, attachments = value.attachments, autocompleteTriggers = value.autocompleteTriggers, clearEditingState = value.clearEditingState, closeCommandsList = value.closeCommandsList, closeEmojiPicker = value.closeEmojiPicker, closeMentionsList = value.closeMentionsList, cooldownInterval = value.cooldownInterval, cooldownRemaining = value.cooldownRemaining, disabled = value.disabled, disableMentions = value.disableMentions, doFileUploadRequest = value.doFileUploadRequest, doImageUploadRequest = value.doImageUploadRequest, emojiIndex = value.emojiIndex, emojiPickerIsOpen = value.emojiPickerIsOpen, emojiPickerRef = value.emojiPickerRef, errorHandler = value.errorHandler, fileOrder = value.fileOrder, fileUploads = value.fileUploads, focus = value.focus, grow = value.grow, handleChange = value.handleChange, handleEmojiKeyDown = value.handleEmojiKeyDown, handleSubmit = value.handleSubmit, imageOrder = value.imageOrder, imageUploads = value.imageUploads, insertText = value.insertText, isUploadEnabled = value.isUploadEnabled, keycodeSubmitKeys = value.keycodeSubmitKeys, maxFilesLeft = value.maxFilesLeft, maxRows = value.maxRows, mentionAllAppUsers = value.mentionAllAppUsers, mentioned_users = value.mentioned_users, mentionQueryParams = value.mentionQueryParams, message = value.message, noFiles = value.noFiles, numberOfUploads = value.numberOfUploads, onPaste = value.onPaste, onSelectEmoji = value.onSelectEmoji, onSelectUser = value.onSelectUser, openCommandsList = value.openCommandsList, openEmojiPicker = value.openEmojiPicker, openMentionsList = value.openMentionsList, overrideSubmitHandler = value.overrideSubmitHandler, parent = value.parent, publishTypingEvent = value.publishTypingEvent, removeFile = value.removeFile, removeImage = value.removeImage, setCooldownRemaining = value.setCooldownRemaining, setText = value.setText, showCommandsList = value.showCommandsList, showMentionsList = value.showMentionsList, text = value.text, textareaRef = value.textareaRef, uploadFile = value.uploadFile, uploadImage = value.uploadImage, uploadNewFiles = value.uploadNewFiles, useMentionsTransliteration = value.useMentionsTransliteration;
4
4
  var editing = message === null || message === void 0 ? void 0 : message.editing;
5
5
  var fileUploadsValue = Object.entries(fileUploads)
6
6
  // eslint-disable-next-line
@@ -25,6 +25,7 @@ export var useCreateMessageInputContext = function (value) {
25
25
  clearEditingState: clearEditingState,
26
26
  closeCommandsList: closeCommandsList,
27
27
  closeEmojiPicker: closeEmojiPicker,
28
+ closeMentionsList: closeMentionsList,
28
29
  cooldownInterval: cooldownInterval,
29
30
  cooldownRemaining: cooldownRemaining,
30
31
  disabled: disabled,
@@ -60,6 +61,7 @@ export var useCreateMessageInputContext = function (value) {
60
61
  onSelectUser: onSelectUser,
61
62
  openCommandsList: openCommandsList,
62
63
  openEmojiPicker: openEmojiPicker,
64
+ openMentionsList: openMentionsList,
63
65
  overrideSubmitHandler: overrideSubmitHandler,
64
66
  parent: parent,
65
67
  publishTypingEvent: publishTypingEvent,
@@ -68,6 +70,7 @@ export var useCreateMessageInputContext = function (value) {
68
70
  setCooldownRemaining: setCooldownRemaining,
69
71
  setText: setText,
70
72
  showCommandsList: showCommandsList,
73
+ showMentionsList: showMentionsList,
71
74
  text: text,
72
75
  textareaRef: textareaRef,
73
76
  uploadFile: uploadFile,
@@ -85,6 +88,8 @@ export var useCreateMessageInputContext = function (value) {
85
88
  mentionedUsersLength,
86
89
  parentId,
87
90
  publishTypingEvent,
91
+ showCommandsList,
92
+ showMentionsList,
88
93
  text,
89
94
  ]);
90
95
  return messageInputContext;
@@ -1 +1 @@
1
- {"version":3,"file":"useFileUploads.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useFileUploads.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,cAAc;;;CA0F1B,CAAC"}
1
+ {"version":3,"file":"useFileUploads.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useFileUploads.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,cAAc;;;CAuG1B,CAAC"}
@@ -35,14 +35,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { useCallback, useEffect } from 'react';
38
+ import { checkUploadPermissions } from './utils';
38
39
  import { useChannelActionContext } from '../../../context/ChannelActionContext';
39
40
  import { useChannelStateContext } from '../../../context/ChannelStateContext';
41
+ import { useChatContext } from '../../../context/ChatContext';
40
42
  import { useTranslationContext } from '../../../context/TranslationContext';
41
43
  export var useFileUploads = function (props, state, dispatch) {
42
44
  var doFileUploadRequest = props.doFileUploadRequest, errorHandler = props.errorHandler;
43
45
  var fileUploads = state.fileUploads;
44
46
  var channel = useChannelStateContext('useFileUploads').channel;
45
47
  var addNotification = useChannelActionContext('useFileUploads').addNotification;
48
+ var getAppSettings = useChatContext('useFileUploads').getAppSettings;
46
49
  var t = useTranslationContext('useFileUploads').t;
47
50
  var uploadFile = useCallback(function (id) {
48
51
  dispatch({ id: id, state: 'uploading', type: 'setFileUpload' });
@@ -53,7 +56,7 @@ export var useFileUploads = function (props, state, dispatch) {
53
56
  }, []);
54
57
  useEffect(function () {
55
58
  (function () { return __awaiter(void 0, void 0, void 0, function () {
56
- var upload, file, id, response, error_1, errorMessage, alreadyRemoved;
59
+ var upload, file, id, canUpload, response, error_1, errorMessage, alreadyRemoved;
57
60
  return __generator(this, function (_a) {
58
61
  switch (_a.label) {
59
62
  case 0:
@@ -61,22 +64,35 @@ export var useFileUploads = function (props, state, dispatch) {
61
64
  if (!upload)
62
65
  return [2 /*return*/];
63
66
  file = upload.file, id = upload.id;
64
- _a.label = 1;
67
+ return [4 /*yield*/, checkUploadPermissions({
68
+ addNotification: addNotification,
69
+ file: file,
70
+ getAppSettings: getAppSettings,
71
+ t: t,
72
+ uploadType: 'file',
73
+ })];
65
74
  case 1:
66
- _a.trys.push([1, 6, , 7]);
67
- if (!doFileUploadRequest) return [3 /*break*/, 3];
68
- return [4 /*yield*/, doFileUploadRequest(file, channel)];
75
+ canUpload = _a.sent();
76
+ if (!canUpload)
77
+ return [2 /*return*/, removeFile(id)];
78
+ _a.label = 2;
69
79
  case 2:
80
+ _a.trys.push([2, 7, , 8]);
81
+ if (!doFileUploadRequest) return [3 /*break*/, 4];
82
+ return [4 /*yield*/, doFileUploadRequest(file, channel)];
83
+ case 3:
70
84
  response = _a.sent();
71
- return [3 /*break*/, 5];
72
- case 3: return [4 /*yield*/, channel.sendFile(file)];
73
- case 4:
85
+ return [3 /*break*/, 6];
86
+ case 4: return [4 /*yield*/, channel.sendFile(file)];
87
+ case 5:
74
88
  response = _a.sent();
75
- _a.label = 5;
76
- case 5: return [3 /*break*/, 7];
77
- case 6:
89
+ _a.label = 6;
90
+ case 6: return [3 /*break*/, 8];
91
+ case 7:
78
92
  error_1 = _a.sent();
79
- errorMessage = typeof error_1.message === 'string' ? error_1.message : t('Error uploading file');
93
+ errorMessage = typeof error_1.message === 'string'
94
+ ? error_1.message
95
+ : t('Error uploading file');
80
96
  addNotification(errorMessage, 'error');
81
97
  alreadyRemoved = false;
82
98
  if (!fileUploads[id]) {
@@ -90,7 +106,7 @@ export var useFileUploads = function (props, state, dispatch) {
90
106
  errorHandler(error_1, 'upload-file', file);
91
107
  }
92
108
  return [2 /*return*/];
93
- case 7:
109
+ case 8:
94
110
  // If doImageUploadRequest returns any falsy value, then don't create the upload preview.
95
111
  // This is for the case if someone wants to handle failure on app level.
96
112
  if (!response) {
@@ -1 +1 @@
1
- {"version":3,"file":"useImageUploads.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useImageUploads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAOtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,eAAe;;;CA0H3B,CAAC"}
1
+ {"version":3,"file":"useImageUploads.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useImageUploads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAUtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,eAAe;;;CAuI3B,CAAC"}
@@ -46,13 +46,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { useCallback, useEffect } from 'react';
49
+ import { checkUploadPermissions } from './utils';
49
50
  import { useChannelActionContext } from '../../../context/ChannelActionContext';
50
51
  import { useChannelStateContext } from '../../../context/ChannelStateContext';
52
+ import { useChatContext } from '../../../context/ChatContext';
51
53
  import { useTranslationContext } from '../../../context/TranslationContext';
52
54
  export var useImageUploads = function (props, state, dispatch) {
53
55
  var doImageUploadRequest = props.doImageUploadRequest, errorHandler = props.errorHandler;
54
56
  var imageUploads = state.imageUploads;
55
57
  var channel = useChannelStateContext('useImageUploads').channel;
58
+ var getAppSettings = useChatContext('useImageUploads').getAppSettings;
56
59
  var addNotification = useChannelActionContext('useImageUploads').addNotification;
57
60
  var t = useTranslationContext('useImageUploads').t;
58
61
  var removeImage = useCallback(function (id) {
@@ -60,7 +63,7 @@ export var useImageUploads = function (props, state, dispatch) {
60
63
  // TODO: cancel upload if still uploading
61
64
  }, []);
62
65
  var uploadImage = useCallback(function (id) { return __awaiter(void 0, void 0, void 0, function () {
63
- var img, file, response, error_1, errorMessage, alreadyRemoved;
66
+ var img, file, canUpload, response, error_1, errorMessage, alreadyRemoved;
64
67
  return __generator(this, function (_a) {
65
68
  switch (_a.label) {
66
69
  case 0:
@@ -71,22 +74,35 @@ export var useImageUploads = function (props, state, dispatch) {
71
74
  if (img.state !== 'uploading') {
72
75
  dispatch({ id: id, state: 'uploading', type: 'setImageUpload' });
73
76
  }
74
- _a.label = 1;
77
+ return [4 /*yield*/, checkUploadPermissions({
78
+ addNotification: addNotification,
79
+ file: file,
80
+ getAppSettings: getAppSettings,
81
+ t: t,
82
+ uploadType: 'image',
83
+ })];
75
84
  case 1:
76
- _a.trys.push([1, 6, , 7]);
77
- if (!doImageUploadRequest) return [3 /*break*/, 3];
78
- return [4 /*yield*/, doImageUploadRequest(file, channel)];
85
+ canUpload = _a.sent();
86
+ if (!canUpload)
87
+ return [2 /*return*/, removeImage(id)];
88
+ _a.label = 2;
79
89
  case 2:
90
+ _a.trys.push([2, 7, , 8]);
91
+ if (!doImageUploadRequest) return [3 /*break*/, 4];
92
+ return [4 /*yield*/, doImageUploadRequest(file, channel)];
93
+ case 3:
80
94
  response = _a.sent();
81
- return [3 /*break*/, 5];
82
- case 3: return [4 /*yield*/, channel.sendImage(file)];
83
- case 4:
95
+ return [3 /*break*/, 6];
96
+ case 4: return [4 /*yield*/, channel.sendImage(file)];
97
+ case 5:
84
98
  response = _a.sent();
85
- _a.label = 5;
86
- case 5: return [3 /*break*/, 7];
87
- case 6:
99
+ _a.label = 6;
100
+ case 6: return [3 /*break*/, 8];
101
+ case 7:
88
102
  error_1 = _a.sent();
89
- errorMessage = typeof error_1.message === 'string' ? error_1.message : t('Error uploading image');
103
+ errorMessage = typeof error_1.message === 'string'
104
+ ? error_1.message
105
+ : t('Error uploading image');
90
106
  addNotification(errorMessage, 'error');
91
107
  alreadyRemoved = false;
92
108
  if (!imageUploads[id]) {
@@ -100,7 +116,7 @@ export var useImageUploads = function (props, state, dispatch) {
100
116
  errorHandler(error_1, 'upload-image', __assign(__assign({}, file), { id: id }));
101
117
  }
102
118
  return [2 /*return*/];
103
- case 7:
119
+ case 8:
104
120
  // If doImageUploadRequest returns any falsy value, then don't create the upload preview.
105
121
  // This is for the case if someone wants to handle failure on app level.
106
122
  if (!response) {
@@ -7,7 +7,9 @@ import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultM
7
7
  export declare type FileUpload = {
8
8
  file: {
9
9
  name: string;
10
- size?: number | string;
10
+ lastModified?: number;
11
+ lastModifiedDate?: Date;
12
+ size?: number;
11
13
  type?: string;
12
14
  uri?: string;
13
15
  };
@@ -17,8 +19,12 @@ export declare type FileUpload = {
17
19
  };
18
20
  export declare type ImageUpload = {
19
21
  file: {
22
+ name: string;
20
23
  height?: number;
21
- name?: string;
24
+ lastModified?: number;
25
+ lastModifiedDate?: Date;
26
+ size?: number;
27
+ type?: string;
22
28
  uri?: string;
23
29
  width?: number;
24
30
  };
@@ -108,9 +114,14 @@ export declare type CommandsListState = {
108
114
  openCommandsList: () => void;
109
115
  showCommandsList: boolean;
110
116
  };
117
+ export declare type MentionsListState = {
118
+ closeMentionsList: () => void;
119
+ openMentionsList: () => void;
120
+ showMentionsList: boolean;
121
+ };
111
122
  /**
112
123
  * hook for MessageInput state
113
124
  */
114
- export declare const useMessageInputState: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputState<At, Us> & MessageInputHookProps<At, Me, Us> & CommandsListState;
125
+ export declare const useMessageInputState: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputState<At, Us> & MessageInputHookProps<At, Me, Us> & CommandsListState & MentionsListState;
115
126
  export {};
116
127
  //# sourceMappingURL=useMessageInputState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageInputState.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useMessageInputState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMessageInputState.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useMessageInputState.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ var initState = function (message) {
46
46
  var id = generateRandomId();
47
47
  acc[id] = {
48
48
  file: {
49
- name: attachment.fallback,
49
+ name: attachment.fallback || '',
50
50
  },
51
51
  id: id,
52
52
  state: 'finished',
@@ -158,6 +158,7 @@ export var useMessageInputState = function (props) {
158
158
  var _c = useReducer(messageInputReducer, message, initState), state = _c[0], dispatch = _c[1];
159
159
  var _d = useMessageInputText(props, state, dispatch), handleChange = _d.handleChange, insertText = _d.insertText, textareaRef = _d.textareaRef;
160
160
  var _e = useState(false), showCommandsList = _e[0], setShowCommandsList = _e[1];
161
+ var _f = useState(false), showMentionsList = _f[0], setShowMentionsList = _f[1];
161
162
  var openCommandsList = function () {
162
163
  dispatch({
163
164
  getNewText: function () { return '/'; },
@@ -166,8 +167,16 @@ export var useMessageInputState = function (props) {
166
167
  setShowCommandsList(true);
167
168
  };
168
169
  var closeCommandsList = function () { return setShowCommandsList(false); };
169
- var _f = useEmojiPicker(state, dispatch, insertText), closeEmojiPicker = _f.closeEmojiPicker, emojiPickerRef = _f.emojiPickerRef, handleEmojiKeyDown = _f.handleEmojiKeyDown, onSelectEmoji = _f.onSelectEmoji, openEmojiPicker = _f.openEmojiPicker;
170
- var _g = useAttachments(props, state, dispatch), maxFilesLeft = _g.maxFilesLeft, numberOfUploads = _g.numberOfUploads, removeFile = _g.removeFile, removeImage = _g.removeImage, uploadFile = _g.uploadFile, uploadImage = _g.uploadImage, uploadNewFiles = _g.uploadNewFiles;
170
+ var openMentionsList = function () {
171
+ dispatch({
172
+ getNewText: function () { return '@'; },
173
+ type: 'setText',
174
+ });
175
+ setShowMentionsList(true);
176
+ };
177
+ var closeMentionsList = function () { return setShowMentionsList(false); };
178
+ var _g = useEmojiPicker(state, dispatch, insertText), closeEmojiPicker = _g.closeEmojiPicker, emojiPickerRef = _g.emojiPickerRef, handleEmojiKeyDown = _g.handleEmojiKeyDown, onSelectEmoji = _g.onSelectEmoji, openEmojiPicker = _g.openEmojiPicker;
179
+ var _h = useAttachments(props, state, dispatch), maxFilesLeft = _h.maxFilesLeft, numberOfUploads = _h.numberOfUploads, removeFile = _h.removeFile, removeImage = _h.removeImage, uploadFile = _h.uploadFile, uploadImage = _h.uploadImage, uploadNewFiles = _h.uploadNewFiles;
171
180
  var handleSubmit = useSubmitHandler(props, state, dispatch, numberOfUploads).handleSubmit;
172
181
  var onPaste = usePasteHandler(uploadNewFiles, insertText).onPaste;
173
182
  var isUploadEnabled = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.uploads) !== false && channelCapabilities['upload-file'] !== false;
@@ -182,5 +191,5 @@ export var useMessageInputState = function (props) {
182
191
  * TODO: fix the below at some point because this type casting is wrong
183
192
  * and just forced to not have warnings currently with the unknown casting
184
193
  */
185
- closeEmojiPicker: closeEmojiPicker, emojiIndex: useEmojiIndex(), emojiPickerRef: emojiPickerRef, handleChange: handleChange, handleEmojiKeyDown: handleEmojiKeyDown, handleSubmit: handleSubmit, insertText: insertText, isUploadEnabled: isUploadEnabled, maxFilesLeft: maxFilesLeft, numberOfUploads: numberOfUploads, onPaste: onPaste, onSelectEmoji: onSelectEmoji, onSelectUser: onSelectUser, openCommandsList: openCommandsList, openEmojiPicker: openEmojiPicker, removeFile: removeFile, removeImage: removeImage, setText: setText, showCommandsList: showCommandsList, textareaRef: textareaRef, uploadFile: uploadFile, uploadImage: uploadImage, uploadNewFiles: uploadNewFiles });
194
+ closeEmojiPicker: closeEmojiPicker, closeMentionsList: closeMentionsList, emojiIndex: useEmojiIndex(), emojiPickerRef: emojiPickerRef, handleChange: handleChange, handleEmojiKeyDown: handleEmojiKeyDown, handleSubmit: handleSubmit, insertText: insertText, isUploadEnabled: isUploadEnabled, maxFilesLeft: maxFilesLeft, numberOfUploads: numberOfUploads, onPaste: onPaste, onSelectEmoji: onSelectEmoji, onSelectUser: onSelectUser, openCommandsList: openCommandsList, openEmojiPicker: openEmojiPicker, openMentionsList: openMentionsList, removeFile: removeFile, removeImage: removeImage, setText: setText, showCommandsList: showCommandsList, showMentionsList: showMentionsList, textareaRef: textareaRef, uploadFile: uploadFile, uploadImage: uploadImage, uploadNewFiles: uploadNewFiles });
186
195
  };