stream-chat-react 11.10.0 → 11.11.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.
@@ -41768,6 +41768,7 @@ var DropzoneProvider = function (props) {
41768
41768
  var DEFAULT_INITIAL_CHANNEL_PAGE_SIZE = 25;
41769
41769
  var DEFAULT_NEXT_CHANNEL_PAGE_SIZE = 100;
41770
41770
  var DEFAULT_THREAD_PAGE_SIZE = 50;
41771
+ var DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD = 250;
41771
41772
 
41772
41773
  var UnMemoizedCustomNotification = function (props) {
41773
41774
  var active = props.active, children = props.children, className = props.className, type = props.type;
@@ -44798,6 +44799,7 @@ exports.ConnectionStatus = ConnectionStatus;
44798
44799
  exports.CooldownTimer = CooldownTimer;
44799
44800
  exports.CustomMessageActionsList = CustomMessageActionsList;
44800
44801
  exports.CustomNotification = CustomNotification;
44802
+ exports.DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD = DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD;
44801
44803
  exports.DEFAULT_NEXT_CHANNEL_PAGE_SIZE = DEFAULT_NEXT_CHANNEL_PAGE_SIZE;
44802
44804
  exports.DateSeparator = DateSeparator;
44803
44805
  exports.DefaultSuggestionListHeader = DefaultSuggestionListHeader;
@@ -53996,6 +53996,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
53996
53996
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var DEFAULT_INITIAL_CHANNEL_PAGE_SIZE = 25;
53997
53997
  var DEFAULT_NEXT_CHANNEL_PAGE_SIZE = 100;
53998
53998
  var DEFAULT_THREAD_PAGE_SIZE = 50;
53999
+ var DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD = 250;
53999
54000
 
54000
54001
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedCustomNotification = function (props) {
54001
54002
  var active = props.active, children = props.children, className = props.className, type = props.type;
@@ -54832,7 +54833,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
54832
54833
  }
54833
54834
  };
54834
54835
  var InfiniteScroll = function (props) {
54835
- var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ? 250 : _c, _d = props.useCapture, useCapture = _d === void 0 ? false : _d, elementProps = __rest(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
54836
+ var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _c, _d = props.useCapture, useCapture = _d === void 0 ? false : _d, elementProps = __rest(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
54836
54837
  var loadNextPageFn = loadNextPage || loadMoreNewer;
54837
54838
  var loadPreviousPageFn = loadPreviousPage || loadMore;
54838
54839
  var hasNextPageFlag = hasNextPage || hasMoreNewer;
@@ -55025,22 +55026,21 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
55025
55026
 
55026
55027
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageListWithContext = function (props) {
55027
55028
  var _a;
55028
- var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, internalInfiniteScrollProps = props.internalInfiniteScrollProps, _e = props.messageActions, messageActions = _e === void 0 ? Object.keys(MESSAGE_ACTIONS) : _e, _f = props.messages, messages = _f === void 0 ? [] : _f, notifications = props.notifications, _g = props.noGroupByUser, noGroupByUser = _g === void 0 ? false : _g, _h = props.pinPermissions, pinPermissions = _h === void 0 ? defaultPinPermissions : _h, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
55029
- _j = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
55030
- returnAllReadData = _j === void 0 ? false : _j, _k = props.threadList, threadList = _k === void 0 ? false : _k, _l = props.unsafeHTML, unsafeHTML = _l === void 0 ? false : _l, headerPosition = props.headerPosition, read = props.read, _m = props.renderMessages, renderMessages = _m === void 0 ? defaultRenderMessages : _m, _o = props.messageLimit, messageLimit = _o === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _o, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _p = props.hasMoreNewer, hasMoreNewer = _p === void 0 ? false : _p, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _q = props.jumpToLatestMessage, jumpToLatestMessage = _q === void 0 ? function () { return Promise.resolve(); } : _q;
55031
- var _r = React__default["default"].useState(null), listElement = _r[0], setListElement = _r[1];
55032
- var _s = React__default["default"].useState(null), ulElement = _s[0], setUlElement = _s[1];
55029
+ var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = __rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
55030
+ _m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
55031
+ returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, _r = props.messageLimit, messageLimit = _r === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
55032
+ var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
55033
+ var _v = React__default["default"].useState(null), ulElement = _v[0], setUlElement = _v[1];
55033
55034
  var customClasses = useChatContext('MessageList').customClasses;
55034
- var _t = useComponentContext('MessageList'), _u = _t.EmptyStateIndicator, EmptyStateIndicator$1 = _u === void 0 ? EmptyStateIndicator : _u, _v = _t.LoadingIndicator, LoadingIndicator$1 = _v === void 0 ? LoadingIndicator : _v, _w = _t.MessageListNotifications, MessageListNotifications$1 = _w === void 0 ? MessageListNotifications : _w, _x = _t.MessageNotification, MessageNotification$1 = _x === void 0 ? MessageNotification : _x, _y = _t.TypingIndicator, TypingIndicator$1 = _y === void 0 ? TypingIndicator : _y, _z = _t.UnreadMessagesNotification, UnreadMessagesNotification$1 = _z === void 0 ? UnreadMessagesNotification : _z;
55035
- var loadMoreScrollThreshold = (internalInfiniteScrollProps === null || internalInfiniteScrollProps === void 0 ? void 0 : internalInfiniteScrollProps.threshold) || 250;
55036
- var _0 = useScrollLocationLogic({
55035
+ var _w = useComponentContext('MessageList'), _x = _w.EmptyStateIndicator, EmptyStateIndicator$1 = _x === void 0 ? EmptyStateIndicator : _x, _y = _w.LoadingIndicator, LoadingIndicator$1 = _y === void 0 ? LoadingIndicator : _y, _z = _w.MessageListNotifications, MessageListNotifications$1 = _z === void 0 ? MessageListNotifications : _z, _0 = _w.MessageNotification, MessageNotification$1 = _0 === void 0 ? MessageNotification : _0, _1 = _w.TypingIndicator, TypingIndicator$1 = _1 === void 0 ? TypingIndicator : _1, _2 = _w.UnreadMessagesNotification, UnreadMessagesNotification$1 = _2 === void 0 ? UnreadMessagesNotification : _2;
55036
+ var _3 = useScrollLocationLogic({
55037
55037
  hasMoreNewer: hasMoreNewer,
55038
55038
  listElement: listElement,
55039
55039
  loadMoreScrollThreshold: loadMoreScrollThreshold,
55040
55040
  messages: messages,
55041
55041
  scrolledUpThreshold: props.scrolledUpThreshold,
55042
55042
  suppressAutoscroll: suppressAutoscroll,
55043
- }), hasNewMessages = _0.hasNewMessages, isMessageListScrolledToBottom = _0.isMessageListScrolledToBottom, onScroll = _0.onScroll, scrollToBottom = _0.scrollToBottom, wrapperRect = _0.wrapperRect;
55043
+ }), hasNewMessages = _3.hasNewMessages, isMessageListScrolledToBottom = _3.isMessageListScrolledToBottom, onScroll = _3.onScroll, scrollToBottom = _3.scrollToBottom, wrapperRect = _3.wrapperRect;
55044
55044
  var showUnreadMessagesNotification = useUnreadMessagesNotification({
55045
55045
  isMessageListScrolledToBottom: isMessageListScrolledToBottom,
55046
55046
  showAlways: !!showUnreadNotificationAlways,
@@ -55052,7 +55052,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
55052
55052
  unreadCount: (_a = channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages) !== null && _a !== void 0 ? _a : 0,
55053
55053
  wasMarkedUnread: !!(channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.first_unread_message_id),
55054
55054
  });
55055
- var _1 = useEnrichedMessages({
55055
+ var _4 = useEnrichedMessages({
55056
55056
  channel: channel,
55057
55057
  disableDateSeparator: disableDateSeparator,
55058
55058
  groupStyles: groupStyles,
@@ -55061,7 +55061,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
55061
55061
  hideNewMessageSeparator: hideNewMessageSeparator,
55062
55062
  messages: messages,
55063
55063
  noGroupByUser: noGroupByUser,
55064
- }), messageGroupStyles = _1.messageGroupStyles, enrichedMessages = _1.messages;
55064
+ }), messageGroupStyles = _4.messageGroupStyles, enrichedMessages = _4.messages;
55065
55065
  var elements = useMessageListElements({
55066
55066
  channelUnreadUiState: channelUnreadUiState,
55067
55067
  enrichedMessages: enrichedMessages,
@@ -55140,7 +55140,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
55140
55140
  return (React__default["default"].createElement(MessageListContextProvider, { value: { listElement: listElement, scrollToBottom: scrollToBottom } },
55141
55141
  React__default["default"].createElement(MessageListMainPanel, null,
55142
55142
  !threadList && showUnreadMessagesNotification && (React__default["default"].createElement(UnreadMessagesNotification$1, { unreadCount: channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages })),
55143
- React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator$1, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator$1, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore }, props.internalInfiniteScrollProps, { threshold: loadMoreScrollThreshold }),
55143
+ React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator$1, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator$1, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore, threshold: loadMoreScrollThreshold }, restInternalInfiniteScrollProps),
55144
55144
  React__default["default"].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
55145
55145
  React__default["default"].createElement(TypingIndicator$1, { threadList: threadList }),
55146
55146
  React__default["default"].createElement("div", { key: 'bottom' }))))),
@@ -59403,7 +59403,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
59403
59403
 
59404
59404
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
59405
59405
 
59406
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.10.0';
59406
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.11.0';
59407
59407
 
59408
59408
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
59409
59409
  var _b, _c;
@@ -59622,6 +59622,36 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
59622
59622
  React__default["default"].createElement(TranslationProvider, { value: translators }, children)));
59623
59623
  };
59624
59624
 
59625
+ window.StreamChat.StreamChat=streamChat.StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
59626
+ * React hook to create, connect and return `StreamChat` client.
59627
+ */
59628
+ var useCreateChatClient = function (_a) {
59629
+ var apiKey = _a.apiKey, tokenOrProvider = _a.tokenOrProvider, userData = _a.userData;
59630
+ var _b = React$2.useState(null), chatClient = _b[0], setChatClient = _b[1];
59631
+ var _c = React$2.useState(userData), cachedUserData = _c[0], setCachedUserData = _c[1];
59632
+ if (userData.id !== cachedUserData.id) {
59633
+ setCachedUserData(userData);
59634
+ }
59635
+ React$2.useEffect(function () {
59636
+ var client = new streamChat.StreamChat(apiKey);
59637
+ var didUserConnectInterrupt = false;
59638
+ var connectionPromise = client.connectUser(cachedUserData, tokenOrProvider).then(function () {
59639
+ if (!didUserConnectInterrupt)
59640
+ setChatClient(client);
59641
+ });
59642
+ return function () {
59643
+ didUserConnectInterrupt = true;
59644
+ setChatClient(null);
59645
+ connectionPromise
59646
+ .then(function () { return client.disconnectUser(); })
59647
+ .then(function () {
59648
+ console.log("Connection for user \"".concat(cachedUserData.id, "\" has been closed"));
59649
+ });
59650
+ };
59651
+ }, [apiKey, cachedUserData, tokenOrProvider]);
59652
+ return chatClient;
59653
+ };
59654
+
59625
59655
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
59626
59656
 
59627
59657
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
@@ -84099,6 +84129,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
84099
84129
  exports.useComponentContext = useComponentContext;
84100
84130
  exports.useConnectionRecoveredListener = useConnectionRecoveredListener;
84101
84131
  exports.useCooldownTimer = useCooldownTimer;
84132
+ exports.useCreateChatClient = useCreateChatClient;
84102
84133
  exports.useCustomStyles = useCustomStyles;
84103
84134
  exports.useDeleteHandler = useDeleteHandler;
84104
84135
  exports.useEditHandler = useEditHandler;