sceyt-chat-react-uikit 1.7.8-beta.7 → 1.7.8-beta.8

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.
@@ -11,5 +11,5 @@ interface AudioPlayerProps {
11
11
  channelId: string;
12
12
  maxRecordingDuration?: number;
13
13
  }
14
- declare const AudioRecord: React.FC<AudioPlayerProps>;
15
- export default AudioRecord;
14
+ declare const _default: React.NamedExoticComponent<AudioPlayerProps>;
15
+ export default _default;
package/index.js CHANGED
@@ -16370,7 +16370,7 @@ function getChannels(action) {
16370
16370
  try {
16371
16371
  return Promise.resolve(new Promise(function (resolve) {
16372
16372
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16373
- channelMessageMap[channel.id] = messages[0];
16373
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16374
16374
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16375
16375
  resolve(true);
16376
16376
  })["catch"](function (e) {
@@ -16389,8 +16389,8 @@ function getChannels(action) {
16389
16389
  case 13:
16390
16390
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16391
16391
  mappedChannels = mappedChannels.map(function (channel) {
16392
- if (channelMessageMap[channel.id]) {
16393
- channel.lastReactedMessage = channelMessageMap[channel.id];
16392
+ if (channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id]) {
16393
+ channel.lastReactedMessage = channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id];
16394
16394
  }
16395
16395
  return channel;
16396
16396
  });
@@ -41312,6 +41312,13 @@ function SvgRecordButton(props) {
41312
41312
  }
41313
41313
 
41314
41314
  var _templateObject$O, _templateObject2$J, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$n;
41315
+ var fieldsObject = {
41316
+ channelId: '',
41317
+ currentRecordedFile: null,
41318
+ recording: null,
41319
+ recorder: null,
41320
+ wavesurferContainer: null
41321
+ };
41315
41322
  var shouldDraw = false;
41316
41323
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41317
41324
  var AudioRecord = function AudioRecord(_ref) {
@@ -41645,7 +41652,7 @@ var AudioRecord = function AudioRecord(_ref) {
41645
41652
  handleStopRecording();
41646
41653
  shouldDraw = false;
41647
41654
  var id = cId || channelId;
41648
- recorder.stop().getMp3().then(function (_ref4) {
41655
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41649
41656
  var buffer = _ref4[0],
41650
41657
  blob = _ref4[1];
41651
41658
  var file = new File(buffer, 'record.mp3', {
@@ -41765,6 +41772,30 @@ var AudioRecord = function AudioRecord(_ref) {
41765
41772
  }
41766
41773
  };
41767
41774
  }, [recording, maxRecordingDuration]);
41775
+ React.useEffect(function () {
41776
+ fieldsObject.channelId = channelId;
41777
+ }, [channelId]);
41778
+ React.useEffect(function () {
41779
+ fieldsObject.recorder = recorder;
41780
+ }, [recorder]);
41781
+ React.useEffect(function () {
41782
+ fieldsObject.currentRecordedFile = currentRecordedFile;
41783
+ }, [currentRecordedFile]);
41784
+ React.useEffect(function () {
41785
+ fieldsObject.recording = recording;
41786
+ }, [recording]);
41787
+ React.useEffect(function () {
41788
+ fieldsObject.wavesurferContainer = wavesurferContainer.current;
41789
+ }, [wavesurferContainer.current]);
41790
+ React.useEffect(function () {
41791
+ return function () {
41792
+ var _fieldsObject$current;
41793
+ if (fieldsObject.channelId && (!fieldsObject.currentRecordedFile || !((_fieldsObject$current = fieldsObject.currentRecordedFile) !== null && _fieldsObject$current !== void 0 && _fieldsObject$current.file)) && fieldsObject.recorder && fieldsObject.recording) {
41794
+ stopRecording(false, fieldsObject.channelId, true, fieldsObject.recorder, fieldsObject.wavesurferContainer);
41795
+ handleStopRecording();
41796
+ }
41797
+ };
41798
+ }, []);
41768
41799
  React.useEffect(function () {
41769
41800
  if (currentRecordedFile) {
41770
41801
  _initWaveSurfer();
@@ -41889,6 +41920,9 @@ var AudioRecord = function AudioRecord(_ref) {
41889
41920
  iconColor: accentColor
41890
41921
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41891
41922
  };
41923
+ var AudioRecord$1 = /*#__PURE__*/React.memo(AudioRecord, function (prevProps, nextProps) {
41924
+ return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration;
41925
+ });
41892
41926
  var Container$l = styled__default.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n width: 32px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n ", ";\n transition: all 0.3s ease-in-out;\n"])), function (props) {
41893
41927
  return props.recording && "width: 400px";
41894
41928
  });
@@ -42467,7 +42501,7 @@ function onError(error) {
42467
42501
  var prevActiveChannelId;
42468
42502
  var attachmentsUpdate = [];
42469
42503
  var SendMessageInput = function SendMessageInput(_ref3) {
42470
- var _pollOptions$choosePo;
42504
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42471
42505
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42472
42506
  handleSendMessage = _ref3.handleSendMessage,
42473
42507
  _ref3$disabled = _ref3.disabled,
@@ -43583,7 +43617,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43583
43617
  document.body.removeAttribute('onbeforeunload');
43584
43618
  }
43585
43619
  }
43586
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43620
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43587
43621
  useDidUpdate(function () {
43588
43622
  if (mentionedUsers && mentionedUsers.length) {
43589
43623
  setDraftMessageToMap(activeChannel.id, {
@@ -43898,7 +43932,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43898
43932
  onChange: handleFileUpload,
43899
43933
  multiple: true,
43900
43934
  type: 'file'
43901
- }), showRecording || getAudioRecordingFromMap(activeChannel.id) ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43935
+ }), (showRecording || getAudioRecordingFromMap(activeChannel.id)) && !messageToEdit ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43902
43936
  className: 'message_input_wrapper',
43903
43937
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43904
43938
  ref: inputWrapperRef,
@@ -44021,7 +44055,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
44021
44055
  ErrorBoundary: LexicalErrorBoundary
44022
44056
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
44023
44057
  anchorElem: floatingAnchorElem
44024
- })))))))), sendMessageIsActive || !voiceMessage || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44058
+ })))))))), sendMessageIsActive || !voiceMessage && !((_getAudioRecordingFro = getAudioRecordingFromMap(activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id)) !== null && _getAudioRecordingFro !== void 0 && _getAudioRecordingFro.file) || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44025
44059
  isCustomButton: CustomSendMessageButton,
44026
44060
  isActive: sendMessageIsActive,
44027
44061
  order: sendIconOrder,
@@ -44037,7 +44071,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
44037
44071
  color: accentColor,
44038
44072
  iconColor: accentColor,
44039
44073
  activeColor: accentColor
44040
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44074
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
44041
44075
  sendRecordedFile: sendRecordedFile,
44042
44076
  setShowRecording: setShowRecording,
44043
44077
  showRecording: showRecording,
package/index.modern.js CHANGED
@@ -16369,7 +16369,7 @@ function getChannels(action) {
16369
16369
  try {
16370
16370
  return Promise.resolve(new Promise(function (resolve) {
16371
16371
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16372
- channelMessageMap[channel.id] = messages[0];
16372
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16373
16373
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16374
16374
  resolve(true);
16375
16375
  })["catch"](function (e) {
@@ -16388,8 +16388,8 @@ function getChannels(action) {
16388
16388
  case 13:
16389
16389
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16390
16390
  mappedChannels = mappedChannels.map(function (channel) {
16391
- if (channelMessageMap[channel.id]) {
16392
- channel.lastReactedMessage = channelMessageMap[channel.id];
16391
+ if (channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id]) {
16392
+ channel.lastReactedMessage = channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id];
16393
16393
  }
16394
16394
  return channel;
16395
16395
  });
@@ -41311,6 +41311,13 @@ function SvgRecordButton(props) {
41311
41311
  }
41312
41312
 
41313
41313
  var _templateObject$O, _templateObject2$J, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$n;
41314
+ var fieldsObject = {
41315
+ channelId: '',
41316
+ currentRecordedFile: null,
41317
+ recording: null,
41318
+ recorder: null,
41319
+ wavesurferContainer: null
41320
+ };
41314
41321
  var shouldDraw = false;
41315
41322
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41316
41323
  var AudioRecord = function AudioRecord(_ref) {
@@ -41644,7 +41651,7 @@ var AudioRecord = function AudioRecord(_ref) {
41644
41651
  handleStopRecording();
41645
41652
  shouldDraw = false;
41646
41653
  var id = cId || channelId;
41647
- recorder.stop().getMp3().then(function (_ref4) {
41654
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41648
41655
  var buffer = _ref4[0],
41649
41656
  blob = _ref4[1];
41650
41657
  var file = new File(buffer, 'record.mp3', {
@@ -41764,6 +41771,30 @@ var AudioRecord = function AudioRecord(_ref) {
41764
41771
  }
41765
41772
  };
41766
41773
  }, [recording, maxRecordingDuration]);
41774
+ useEffect(function () {
41775
+ fieldsObject.channelId = channelId;
41776
+ }, [channelId]);
41777
+ useEffect(function () {
41778
+ fieldsObject.recorder = recorder;
41779
+ }, [recorder]);
41780
+ useEffect(function () {
41781
+ fieldsObject.currentRecordedFile = currentRecordedFile;
41782
+ }, [currentRecordedFile]);
41783
+ useEffect(function () {
41784
+ fieldsObject.recording = recording;
41785
+ }, [recording]);
41786
+ useEffect(function () {
41787
+ fieldsObject.wavesurferContainer = wavesurferContainer.current;
41788
+ }, [wavesurferContainer.current]);
41789
+ useEffect(function () {
41790
+ return function () {
41791
+ var _fieldsObject$current;
41792
+ if (fieldsObject.channelId && (!fieldsObject.currentRecordedFile || !((_fieldsObject$current = fieldsObject.currentRecordedFile) !== null && _fieldsObject$current !== void 0 && _fieldsObject$current.file)) && fieldsObject.recorder && fieldsObject.recording) {
41793
+ stopRecording(false, fieldsObject.channelId, true, fieldsObject.recorder, fieldsObject.wavesurferContainer);
41794
+ handleStopRecording();
41795
+ }
41796
+ };
41797
+ }, []);
41767
41798
  useEffect(function () {
41768
41799
  if (currentRecordedFile) {
41769
41800
  _initWaveSurfer();
@@ -41888,6 +41919,9 @@ var AudioRecord = function AudioRecord(_ref) {
41888
41919
  iconColor: accentColor
41889
41920
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41890
41921
  };
41922
+ var AudioRecord$1 = /*#__PURE__*/memo(AudioRecord, function (prevProps, nextProps) {
41923
+ return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration;
41924
+ });
41891
41925
  var Container$l = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n width: 32px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n ", ";\n transition: all 0.3s ease-in-out;\n"])), function (props) {
41892
41926
  return props.recording && "width: 400px";
41893
41927
  });
@@ -42466,7 +42500,7 @@ function onError(error) {
42466
42500
  var prevActiveChannelId;
42467
42501
  var attachmentsUpdate = [];
42468
42502
  var SendMessageInput = function SendMessageInput(_ref3) {
42469
- var _pollOptions$choosePo;
42503
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42470
42504
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42471
42505
  handleSendMessage = _ref3.handleSendMessage,
42472
42506
  _ref3$disabled = _ref3.disabled,
@@ -43582,7 +43616,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43582
43616
  document.body.removeAttribute('onbeforeunload');
43583
43617
  }
43584
43618
  }
43585
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43619
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43586
43620
  useDidUpdate(function () {
43587
43621
  if (mentionedUsers && mentionedUsers.length) {
43588
43622
  setDraftMessageToMap(activeChannel.id, {
@@ -43897,7 +43931,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43897
43931
  onChange: handleFileUpload,
43898
43932
  multiple: true,
43899
43933
  type: 'file'
43900
- }), showRecording || getAudioRecordingFromMap(activeChannel.id) ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43934
+ }), (showRecording || getAudioRecordingFromMap(activeChannel.id)) && !messageToEdit ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43901
43935
  className: 'message_input_wrapper',
43902
43936
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43903
43937
  ref: inputWrapperRef,
@@ -44020,7 +44054,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
44020
44054
  ErrorBoundary: LexicalErrorBoundary
44021
44055
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
44022
44056
  anchorElem: floatingAnchorElem
44023
- })))))))), sendMessageIsActive || !voiceMessage || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44057
+ })))))))), sendMessageIsActive || !voiceMessage && !((_getAudioRecordingFro = getAudioRecordingFromMap(activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id)) !== null && _getAudioRecordingFro !== void 0 && _getAudioRecordingFro.file) || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44024
44058
  isCustomButton: CustomSendMessageButton,
44025
44059
  isActive: sendMessageIsActive,
44026
44060
  order: sendIconOrder,
@@ -44036,7 +44070,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
44036
44070
  color: accentColor,
44037
44071
  iconColor: accentColor,
44038
44072
  activeColor: accentColor
44039
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44073
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
44040
44074
  sendRecordedFile: sendRecordedFile,
44041
44075
  setShowRecording: setShowRecording,
44042
44076
  showRecording: showRecording,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.7.8-beta.7",
3
+ "version": "1.7.8-beta.8",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",