stream-chat-react 10.0.1 → 10.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/browser.full-bundle.js +35 -24
  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/Attachment/Card.d.ts.map +1 -1
  6. package/dist/components/Attachment/Card.js +5 -6
  7. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  8. package/dist/components/AutoCompleteTextarea/Textarea.js +3 -0
  9. package/dist/components/Channel/Channel.d.ts +1 -1
  10. package/dist/components/Channel/Channel.d.ts.map +1 -1
  11. package/dist/components/Channel/Channel.js +10 -7
  12. package/dist/components/Channel/hooks/useChannelContainerClasses.js +1 -1
  13. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  14. package/dist/components/ChannelList/ChannelList.js +7 -6
  15. package/dist/components/Chat/Chat.d.ts +13 -4
  16. package/dist/components/Chat/Chat.d.ts.map +1 -1
  17. package/dist/components/Chat/hooks/useCustomStyles.d.ts +7 -0
  18. package/dist/components/Chat/hooks/useCustomStyles.d.ts.map +1 -1
  19. package/dist/components/Chat/hooks/useCustomStyles.js +7 -0
  20. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +1 -1
  21. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  22. package/dist/components/Message/MessageOptions.d.ts +4 -6
  23. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  24. package/dist/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  25. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  26. package/dist/components/Message/MessageText.d.ts.map +1 -1
  27. package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
  28. package/dist/components/Message/types.d.ts +2 -2
  29. package/dist/components/Message/types.d.ts.map +1 -1
  30. package/dist/components/MessageActions/MessageActions.d.ts +2 -2
  31. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  32. package/dist/components/MessageInput/MessageInputSmall.d.ts +1 -1
  33. package/dist/components/MessageInput/MessageInputSmall.js +1 -1
  34. package/dist/components/MessageInput/UploadsPreview.d.ts +1 -1
  35. package/dist/components/MessageInput/UploadsPreview.js +1 -1
  36. package/dist/components/MessageList/MessageList.d.ts +1 -1
  37. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  38. package/dist/components/MessageList/VirtualizedMessageList.d.ts +1 -1
  39. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  40. package/dist/context/ChatContext.d.ts +4 -7
  41. package/dist/context/ChatContext.d.ts.map +1 -1
  42. package/dist/index.cjs.js +35 -24
  43. package/dist/index.cjs.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +4 -3
@@ -10717,7 +10717,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
10717
10717
  React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--text' }, t('this content could not be displayed')))));
10718
10718
  };
10719
10719
  var CardV1 = function (props) {
10720
- var giphy = props.giphy, image_url = props.image_url, og_scrape_url = props.og_scrape_url, text = props.text, thumb_url = props.thumb_url, title = props.title, title_link = props.title_link, type = props.type;
10720
+ var asset_url = props.asset_url, giphy = props.giphy, image_url = props.image_url, og_scrape_url = props.og_scrape_url, text = props.text, thumb_url = props.thumb_url, title = props.title, title_link = props.title_link, type = props.type;
10721
10721
  var giphyVersionName = useChannelStateContext('Card').giphyVersion;
10722
10722
  var image = thumb_url || image_url;
10723
10723
  var dimensions = {};
@@ -10727,20 +10727,19 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
10727
10727
  dimensions.height = giphyVersion.height;
10728
10728
  dimensions.width = giphyVersion.width;
10729
10729
  }
10730
- if (!title && !title_link && !image) {
10730
+ if (!title && !title_link && !asset_url && !image) {
10731
10731
  return React__default["default"].createElement(UnableToRenderCard, { type: type });
10732
10732
  }
10733
10733
  if (!title_link && !og_scrape_url) {
10734
10734
  return null;
10735
10735
  }
10736
10736
  return (React__default["default"].createElement("div", { className: "str-chat__message-attachment-card str-chat__message-attachment-card--".concat(type) },
10737
- image && (React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--header' },
10738
- React__default["default"].createElement("img", __assign$8({ alt: image, src: image }, dimensions)))),
10739
- React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--content' },
10737
+ React__default["default"].createElement(CardHeader$1, __assign$8({}, props, { dimensions: dimensions, image: image })),
10738
+ type !== 'video' && (React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--content' },
10740
10739
  React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--flex' },
10741
10740
  title && React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--title' }, title),
10742
10741
  text && React__default["default"].createElement("div", { className: 'str-chat__message-attachment-card--text' }, text),
10743
- (title_link || og_scrape_url) && (React__default["default"].createElement(SafeAnchor, { className: 'str-chat__message-attachment-card--url', href: title_link || og_scrape_url, rel: 'noopener noreferrer', target: '_blank' }, getHostFromURL(title_link || og_scrape_url)))))));
10742
+ (title_link || og_scrape_url) && (React__default["default"].createElement(SafeAnchor, { className: 'str-chat__message-attachment-card--url', href: title_link || og_scrape_url, rel: 'noopener noreferrer', target: '_blank' }, getHostFromURL(title_link || og_scrape_url))))))));
10744
10743
  };
10745
10744
  var SourceLink = function (_a) {
10746
10745
  var author_name = _a.author_name, url = _a.url;
@@ -38688,7 +38687,9 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
38688
38687
 
38689
38688
  _defineProperty$2(_assertThisInitialized(_this), "_handleKeyDown", function (event) {
38690
38689
  var _this$props$shouldSub = _this.props.shouldSubmit,
38691
- shouldSubmit = _this$props$shouldSub === void 0 ? _this._defaultShouldSubmit : _this$props$shouldSub;
38690
+ shouldSubmit = _this$props$shouldSub === void 0 ? _this._defaultShouldSubmit : _this$props$shouldSub; // prevent default behaviour when the selection list is rendered
38691
+
38692
+ if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && _this.dropdownRef) event.preventDefault();
38692
38693
  if (shouldSubmit !== null && shouldSubmit !== void 0 && shouldSubmit(event)) return _this._onEnter(event);
38693
38694
  if (event.key === ' ') return _this._onSpace(event);
38694
38695
  if (event.key === 'Escape') return _this._closeAutocomplete();
@@ -43661,7 +43662,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
43661
43662
  * utilises outdated components from the package [`react-file-utils`](https://github.com/GetStream/react-file-utils)
43662
43663
  * which will no longer receive updates for aforementioned components.
43663
43664
  *
43664
- * **Will be removed with the complete transition to the theming V2.**
43665
+ * **Will be removed with the complete transition to the theming V2 (next major release - `v11.0.0`).**
43665
43666
  */
43666
43667
  var UploadsPreview = function () {
43667
43668
  var themeVersion = useChatContext('UploadsPreview').themeVersion;
@@ -46573,7 +46574,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
46573
46574
  * In case you need to change styling in places where `MessageInputSmall` has been used previously ([`Thread`](../Thread/Thread.tsx))
46574
46575
  * please do so by updating the CSS or by overriding the component itself.
46575
46576
  *
46576
- * **Will be removed with the complete transition to the theming V2.**
46577
+ * **Will be removed with the complete transition to the theming V2 (next major release - `v11.0.0`).**
46577
46578
  */
46578
46579
  var MessageInputSmall = function () {
46579
46580
  var _a = useChannelStateContext('MessageInputSmall'), acceptedFiles = _a.acceptedFiles, multipleUploads = _a.multipleUploads, quotedMessage = _a.quotedMessage;
@@ -47227,7 +47228,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
47227
47228
  var customClasses = _a.customClasses;
47228
47229
  var useImageFlagEmojisOnWindows = useChatContext('Channel').useImageFlagEmojisOnWindows;
47229
47230
  return {
47230
- channelClass: (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channel) !== null && _b !== void 0 ? _b : 'str-chat-channel',
47231
+ channelClass: (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channel) !== null && _b !== void 0 ? _b : 'str-chat-channel str-chat__channel',
47231
47232
  chatClass: (_c = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _c !== void 0 ? _c : 'str-chat',
47232
47233
  chatContainerClass: (_d = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chatContainer) !== null && _d !== void 0 ? _d : 'str-chat__container',
47233
47234
  windowsEmojiClass: useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/)
@@ -47243,16 +47244,17 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
47243
47244
  customClasses: customClasses,
47244
47245
  }), channelClass = _d.channelClass, chatClass = _d.chatClass;
47245
47246
  var channel = propsChannel || contextChannel;
47247
+ var className = clsx(chatClass, theme, channelClass);
47246
47248
  if (channelsQueryState.queryInProgress === 'reload' && LoadingIndicator) {
47247
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
47249
+ return (React__default["default"].createElement("div", { className: className },
47248
47250
  React__default["default"].createElement(LoadingIndicator, null)));
47249
47251
  }
47250
47252
  if (channelsQueryState.error && LoadingErrorIndicator) {
47251
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
47253
+ return (React__default["default"].createElement("div", { className: className },
47252
47254
  React__default["default"].createElement(LoadingErrorIndicator, { error: channelsQueryState.error })));
47253
47255
  }
47254
47256
  if (!(channel === null || channel === void 0 ? void 0 : channel.cid)) {
47255
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) }, EmptyPlaceholder));
47257
+ return React__default["default"].createElement("div", { className: className }, EmptyPlaceholder);
47256
47258
  }
47257
47259
  // @ts-ignore
47258
47260
  return React__default["default"].createElement(ChannelInner, __assign$8({}, props, { channel: channel, key: channel.cid }));
@@ -47791,19 +47793,20 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
47791
47793
  typing: typing,
47792
47794
  });
47793
47795
  var OptionalMessageInputProvider = React.useMemo(function () { return (dragAndDropWindow ? DropzoneProvider : React__default["default"].Fragment); }, [dragAndDropWindow]);
47796
+ var className = clsx(chatClass, theme, channelClass);
47794
47797
  if (state.error) {
47795
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
47798
+ return (React__default["default"].createElement("div", { className: className },
47796
47799
  React__default["default"].createElement(LoadingErrorIndicator$1, { error: state.error })));
47797
47800
  }
47798
47801
  if (state.loading) {
47799
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
47802
+ return (React__default["default"].createElement("div", { className: className },
47800
47803
  React__default["default"].createElement(LoadingIndicator, null)));
47801
47804
  }
47802
47805
  if (!channel.watch) {
47803
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
47806
+ return (React__default["default"].createElement("div", { className: className },
47804
47807
  React__default["default"].createElement("div", null, t('Channel Missing'))));
47805
47808
  }
47806
- return (React__default["default"].createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme, " ").concat(windowsEmojiClass) },
47809
+ return (React__default["default"].createElement("div", { className: clsx(className, windowsEmojiClass) },
47807
47810
  React__default["default"].createElement(ChannelStateProvider, { value: channelStateContextValue },
47808
47811
  React__default["default"].createElement(ChannelActionProvider, { value: channelActionContextValue },
47809
47812
  React__default["default"].createElement(ComponentProvider, { value: componentContextValue },
@@ -48849,11 +48852,12 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48849
48852
  var DEFAULT_OPTIONS = {};
48850
48853
  var DEFAULT_SORT = {};
48851
48854
  var UnMemoizedChannelList = function (props) {
48852
- var additionalChannelSearchProps = props.additionalChannelSearchProps, _a = props.Avatar, Avatar$1 = _a === void 0 ? Avatar : _a, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _b = props.ChannelSearch, ChannelSearch$1 = _b === void 0 ? ChannelSearch : _b, customActiveChannel = props.customActiveChannel, _c = props.EmptyStateIndicator, EmptyStateIndicator$1 = _c === void 0 ? EmptyStateIndicator : _c, filters = props.filters, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? ChatDown : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? LoadingChannels : _e, _f = props.List, List = _f === void 0 ? ChannelListMessenger : _f, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _g = props.Paginator, Paginator = _g === void 0 ? LoadMorePaginator : _g, Preview = props.Preview, renderChannels = props.renderChannels, _h = props.sendChannelsToList, sendChannelsToList = _h === void 0 ? false : _h, _j = props.setActiveChannelOnMount, setActiveChannelOnMount = _j === void 0 ? true : _j, _k = props.showChannelSearch, showChannelSearch = _k === void 0 ? false : _k, _l = props.sort, sort = _l === void 0 ? DEFAULT_SORT : _l, _m = props.watchers, watchers = _m === void 0 ? {} : _m;
48853
- var _o = useChatContext('ChannelList'), channel = _o.channel, channelsQueryState = _o.channelsQueryState, client = _o.client, closeMobileNav = _o.closeMobileNav, customClasses = _o.customClasses, _p = _o.navOpen, navOpen = _p === void 0 ? false : _p, setActiveChannel = _o.setActiveChannel, theme = _o.theme, useImageFlagEmojisOnWindows = _o.useImageFlagEmojisOnWindows;
48855
+ var _a, _b;
48856
+ var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
48857
+ var _q = useChatContext('ChannelList'), channel = _q.channel, channelsQueryState = _q.channelsQueryState, client = _q.client, closeMobileNav = _q.closeMobileNav, customClasses = _q.customClasses, _r = _q.navOpen, navOpen = _r === void 0 ? false : _r, setActiveChannel = _q.setActiveChannel, theme = _q.theme, useImageFlagEmojisOnWindows = _q.useImageFlagEmojisOnWindows;
48854
48858
  var channelListRef = React.useRef(null);
48855
- var _q = React.useState(0), channelUpdateCount = _q[0], setChannelUpdateCount = _q[1];
48856
- var _r = React.useState(false), searchActive = _r[0], setSearchActive = _r[1];
48859
+ var _s = React.useState(0), channelUpdateCount = _s[0], setChannelUpdateCount = _s[1];
48860
+ var _t = React.useState(false), searchActive = _t[0], setSearchActive = _t[1];
48857
48861
  /**
48858
48862
  * Set a channel with id {customActiveChannel} as active and move it to the top of the list.
48859
48863
  * If customActiveChannel prop is absent, then set the first channel in list as active channel.
@@ -48913,7 +48917,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48913
48917
  setSearchActive(false);
48914
48918
  (_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearchExit) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps);
48915
48919
  }, []);
48916
- var _s = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _s.channels, hasNextPage = _s.hasNextPage, loadNextPage = _s.loadNextPage, setChannels = _s.setChannels;
48920
+ var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
48917
48921
  var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
48918
48922
  useMobileNavigation(channelListRef, navOpen, closeMobileNav);
48919
48923
  useMessageNewListener(setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
@@ -48954,7 +48958,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48954
48958
  };
48955
48959
  return React__default["default"].createElement(ChannelPreview, __assign$8({}, previewProps));
48956
48960
  };
48957
- var className = clsx('str-chat__channel-list', theme, (customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) || 'str-chat', (customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) || 'str-chat-channel-list', {
48961
+ var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list', {
48958
48962
  'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
48959
48963
  'str-chat-channel-list--open': navOpen,
48960
48964
  });
@@ -48977,7 +48981,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48977
48981
 
48978
48982
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
48979
48983
 
48980
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.0.1';
48984
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.0.2';
48981
48985
 
48982
48986
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
48983
48987
  var _b, _c;
@@ -49139,6 +49143,13 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49139
49143
  '--white-smoke': '#13151b',
49140
49144
  '--white-snow': '#070a0d',
49141
49145
  };
49146
+ /**
49147
+ * @deprecated This hook has been deprecated in favor of the new
49148
+ * theming (V2) setup which sets its variables through CSS files.
49149
+ * Refer to the [documentation](https://getstream.io/chat/docs/sdk/react/theming/themingv2/) of the new theming for the upgrade.
49150
+ *
49151
+ * **Will be removed with the complete transition to the theming V2.**
49152
+ */
49142
49153
  var useCustomStyles = function (customStyles) {
49143
49154
  if (!customStyles)
49144
49155
  return;