sceyt-chat-react-uikit 1.8.8-beta.12 → 1.8.8-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -44343,6 +44343,7 @@ var MESSAGE_ACTIONS_HOVER_DELAY = 450;
44343
44343
  var MESSAGE_ACTIONS_FLIP_THRESHOLD = 110;
44344
44344
  var MAX_SELECTED_MESSAGES = 30;
44345
44345
  var EMOJI_POPUP_THRESHOLD = 300;
44346
+ var lastMediaItemClickTime = 0;
44346
44347
  var Message$1 = function Message(_ref) {
44347
44348
  var _tabIsActiveRef$curre, _message$reactionTota;
44348
44349
  var message = _ref.message,
@@ -44713,6 +44714,9 @@ var Message$1 = function Message(_ref) {
44713
44714
  if (message.state !== MESSAGE_STATUS.DELETE && !selectionIsActive && !infoPopupOpen) {
44714
44715
  messageActionsTimeout.current = setTimeout(function () {
44715
44716
  var _messageItemRef$curre2, _messageItemRef$curre3;
44717
+ if (Date.now() - lastMediaItemClickTime < MESSAGE_ACTIONS_HOVER_DELAY * 2) {
44718
+ return;
44719
+ }
44716
44720
  var msgTop = (_messageItemRef$curre2 = (_messageItemRef$curre3 = messageItemRef.current) === null || _messageItemRef$curre3 === void 0 ? void 0 : _messageItemRef$curre3.getBoundingClientRect().top) != null ? _messageItemRef$curre2 : 0;
44717
44721
  setMessageActionsBelow(msgTop < MESSAGE_ACTIONS_FLIP_THRESHOLD);
44718
44722
  setMessageActionsShow(true);
@@ -44732,6 +44736,17 @@ var Message$1 = function Message(_ref) {
44732
44736
  }
44733
44737
  setMessageActionsShow(false);
44734
44738
  }, []);
44739
+ var handleMediaItemClickWithActionsClose = React.useCallback(function (attachment) {
44740
+ if (messageActionsTimeout.current) {
44741
+ clearTimeout(messageActionsTimeout.current);
44742
+ }
44743
+ lastMediaItemClickTime = Date.now();
44744
+ setMessageActionsShow(false);
44745
+ dispatch(setMessageMenuOpenedAC(message.id || message.tid));
44746
+ if (handleMediaItemClick) {
44747
+ handleMediaItemClick(attachment);
44748
+ }
44749
+ }, [handleMediaItemClick, dispatch, message.id, message.tid]);
44735
44750
  var handleReactionAddDelete = React.useCallback(function (selectedEmoji) {
44736
44751
  if (message.userReactions && message.userReactions.some(function (item) {
44737
44752
  return item.key === selectedEmoji;
@@ -44847,6 +44862,24 @@ var Message$1 = function Message(_ref) {
44847
44862
  setMessageActionsShow(false);
44848
44863
  }
44849
44864
  }, [openedMessageMenuId]);
44865
+ React.useEffect(function () {
44866
+ if (!reactionsPopupOpen) {
44867
+ return undefined;
44868
+ }
44869
+ var scrollContainer = document.getElementById('scrollableDiv');
44870
+ if (!scrollContainer) {
44871
+ return undefined;
44872
+ }
44873
+ var handleChatScroll = function handleChatScroll() {
44874
+ setReactionsPopupOpen(false);
44875
+ };
44876
+ scrollContainer.addEventListener('scroll', handleChatScroll, {
44877
+ passive: true
44878
+ });
44879
+ return function () {
44880
+ scrollContainer.removeEventListener('scroll', handleChatScroll);
44881
+ };
44882
+ }, [reactionsPopupOpen]);
44850
44883
  React.useEffect(function () {
44851
44884
  document.addEventListener('mousedown', handleClick);
44852
44885
  return function () {
@@ -44969,7 +45002,7 @@ var Message$1 = function Message(_ref) {
44969
45002
  handleCreateChat: handleCreateChat,
44970
45003
  handleReactionAddDelete: handleReactionAddDelete,
44971
45004
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
44972
- handleMediaItemClick: handleMediaItemClick,
45005
+ handleMediaItemClick: handleMediaItemClickWithActionsClose,
44973
45006
  isThreadMessage: isThreadMessage,
44974
45007
  handleOpenUserProfile: handleOpenUserProfile,
44975
45008
  unsupportedMessage: unsupportedMessage,
@@ -44984,7 +45017,7 @@ var Message$1 = function Message(_ref) {
44984
45017
  MessageActionsMenu: MessageActionsMenu,
44985
45018
  messageActionsBelow: messageActionsBelow,
44986
45019
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
44987
- handleMediaItemClick: handleMediaItemClick,
45020
+ handleMediaItemClick: handleMediaItemClickWithActionsClose,
44988
45021
  isPendingMessage: isPendingMessage,
44989
45022
  prevMessage: prevMessage,
44990
45023
  nextMessage: nextMessage,
package/index.modern.js CHANGED
@@ -44323,6 +44323,7 @@ var MESSAGE_ACTIONS_HOVER_DELAY = 450;
44323
44323
  var MESSAGE_ACTIONS_FLIP_THRESHOLD = 110;
44324
44324
  var MAX_SELECTED_MESSAGES = 30;
44325
44325
  var EMOJI_POPUP_THRESHOLD = 300;
44326
+ var lastMediaItemClickTime = 0;
44326
44327
  var Message$1 = function Message(_ref) {
44327
44328
  var _tabIsActiveRef$curre, _message$reactionTota;
44328
44329
  var message = _ref.message,
@@ -44693,6 +44694,9 @@ var Message$1 = function Message(_ref) {
44693
44694
  if (message.state !== MESSAGE_STATUS.DELETE && !selectionIsActive && !infoPopupOpen) {
44694
44695
  messageActionsTimeout.current = setTimeout(function () {
44695
44696
  var _messageItemRef$curre2, _messageItemRef$curre3;
44697
+ if (Date.now() - lastMediaItemClickTime < MESSAGE_ACTIONS_HOVER_DELAY * 2) {
44698
+ return;
44699
+ }
44696
44700
  var msgTop = (_messageItemRef$curre2 = (_messageItemRef$curre3 = messageItemRef.current) === null || _messageItemRef$curre3 === void 0 ? void 0 : _messageItemRef$curre3.getBoundingClientRect().top) != null ? _messageItemRef$curre2 : 0;
44697
44701
  setMessageActionsBelow(msgTop < MESSAGE_ACTIONS_FLIP_THRESHOLD);
44698
44702
  setMessageActionsShow(true);
@@ -44712,6 +44716,17 @@ var Message$1 = function Message(_ref) {
44712
44716
  }
44713
44717
  setMessageActionsShow(false);
44714
44718
  }, []);
44719
+ var handleMediaItemClickWithActionsClose = useCallback(function (attachment) {
44720
+ if (messageActionsTimeout.current) {
44721
+ clearTimeout(messageActionsTimeout.current);
44722
+ }
44723
+ lastMediaItemClickTime = Date.now();
44724
+ setMessageActionsShow(false);
44725
+ dispatch(setMessageMenuOpenedAC(message.id || message.tid));
44726
+ if (handleMediaItemClick) {
44727
+ handleMediaItemClick(attachment);
44728
+ }
44729
+ }, [handleMediaItemClick, dispatch, message.id, message.tid]);
44715
44730
  var handleReactionAddDelete = useCallback(function (selectedEmoji) {
44716
44731
  if (message.userReactions && message.userReactions.some(function (item) {
44717
44732
  return item.key === selectedEmoji;
@@ -44827,6 +44842,24 @@ var Message$1 = function Message(_ref) {
44827
44842
  setMessageActionsShow(false);
44828
44843
  }
44829
44844
  }, [openedMessageMenuId]);
44845
+ useEffect(function () {
44846
+ if (!reactionsPopupOpen) {
44847
+ return undefined;
44848
+ }
44849
+ var scrollContainer = document.getElementById('scrollableDiv');
44850
+ if (!scrollContainer) {
44851
+ return undefined;
44852
+ }
44853
+ var handleChatScroll = function handleChatScroll() {
44854
+ setReactionsPopupOpen(false);
44855
+ };
44856
+ scrollContainer.addEventListener('scroll', handleChatScroll, {
44857
+ passive: true
44858
+ });
44859
+ return function () {
44860
+ scrollContainer.removeEventListener('scroll', handleChatScroll);
44861
+ };
44862
+ }, [reactionsPopupOpen]);
44830
44863
  useEffect(function () {
44831
44864
  document.addEventListener('mousedown', handleClick);
44832
44865
  return function () {
@@ -44949,7 +44982,7 @@ var Message$1 = function Message(_ref) {
44949
44982
  handleCreateChat: handleCreateChat,
44950
44983
  handleReactionAddDelete: handleReactionAddDelete,
44951
44984
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
44952
- handleMediaItemClick: handleMediaItemClick,
44985
+ handleMediaItemClick: handleMediaItemClickWithActionsClose,
44953
44986
  isThreadMessage: isThreadMessage,
44954
44987
  handleOpenUserProfile: handleOpenUserProfile,
44955
44988
  unsupportedMessage: unsupportedMessage,
@@ -44964,7 +44997,7 @@ var Message$1 = function Message(_ref) {
44964
44997
  MessageActionsMenu: MessageActionsMenu,
44965
44998
  messageActionsBelow: messageActionsBelow,
44966
44999
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
44967
- handleMediaItemClick: handleMediaItemClick,
45000
+ handleMediaItemClick: handleMediaItemClickWithActionsClose,
44968
45001
  isPendingMessage: isPendingMessage,
44969
45002
  prevMessage: prevMessage,
44970
45003
  nextMessage: nextMessage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.8.8-beta.12",
3
+ "version": "1.8.8-beta.14",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",