stream-chat-react 11.11.0 → 11.12.1

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 (123) hide show
  1. package/dist/{Window-194c5448.js → Window-40a618cb.js} +357 -76
  2. package/dist/browser.full-bundle.js +424 -136
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +4 -4
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/Attachment/Attachment.d.ts +6 -1
  7. package/dist/components/Attachment/Attachment.d.ts.map +1 -1
  8. package/dist/components/Attachment/Attachment.js +8 -2
  9. package/dist/components/Attachment/AttachmentContainer.d.ts +1 -0
  10. package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
  11. package/dist/components/Attachment/AttachmentContainer.js +7 -0
  12. package/dist/components/Attachment/Audio.d.ts +0 -10
  13. package/dist/components/Attachment/Audio.d.ts.map +1 -1
  14. package/dist/components/Attachment/Audio.js +1 -14
  15. package/dist/components/Attachment/Card.d.ts.map +1 -1
  16. package/dist/components/Attachment/Card.js +1 -1
  17. package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
  18. package/dist/components/Attachment/FileAttachment.js +1 -2
  19. package/dist/components/Attachment/VoiceRecording.d.ts +18 -0
  20. package/dist/components/Attachment/VoiceRecording.d.ts.map +1 -0
  21. package/dist/components/Attachment/VoiceRecording.js +45 -0
  22. package/dist/components/Attachment/components/DownloadButton.d.ts.map +1 -0
  23. package/dist/components/Attachment/{DownloadButton.js → components/DownloadButton.js} +2 -2
  24. package/dist/components/Attachment/components/FileSizeIndicator.d.ts +13 -0
  25. package/dist/components/Attachment/components/FileSizeIndicator.d.ts.map +1 -0
  26. package/dist/components/Attachment/{FileSizeIndicator.js → components/FileSizeIndicator.js} +2 -2
  27. package/dist/components/Attachment/components/PlayButton.d.ts +8 -0
  28. package/dist/components/Attachment/components/PlayButton.d.ts.map +1 -0
  29. package/dist/components/Attachment/components/PlayButton.js +6 -0
  30. package/dist/components/Attachment/components/PlaybackRateButton.d.ts +4 -0
  31. package/dist/components/Attachment/components/PlaybackRateButton.d.ts.map +1 -0
  32. package/dist/components/Attachment/components/PlaybackRateButton.js +5 -0
  33. package/dist/components/Attachment/components/ProgressBar.d.ts +7 -0
  34. package/dist/components/Attachment/components/ProgressBar.d.ts.map +1 -0
  35. package/dist/components/Attachment/components/ProgressBar.js +8 -0
  36. package/dist/components/Attachment/components/WaveProgressBar.d.ts +22 -0
  37. package/dist/components/Attachment/components/WaveProgressBar.d.ts.map +1 -0
  38. package/dist/components/Attachment/components/WaveProgressBar.js +121 -0
  39. package/dist/components/Attachment/components/index.d.ts +7 -0
  40. package/dist/components/Attachment/components/index.d.ts.map +1 -0
  41. package/dist/components/Attachment/components/index.js +6 -0
  42. package/dist/components/Attachment/hooks/useAudioController.d.ts +12 -2
  43. package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -1
  44. package/dist/components/Attachment/hooks/useAudioController.js +60 -25
  45. package/dist/components/Attachment/index.d.ts +1 -0
  46. package/dist/components/Attachment/index.d.ts.map +1 -1
  47. package/dist/components/Attachment/index.js +1 -0
  48. package/dist/components/Attachment/utils.d.ts +4 -2
  49. package/dist/components/Attachment/utils.d.ts.map +1 -1
  50. package/dist/components/Attachment/utils.js +14 -0
  51. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +2 -2
  52. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  53. package/dist/components/AutoCompleteTextarea/Textarea.js +23 -13
  54. package/dist/components/Channel/Channel.d.ts +2 -0
  55. package/dist/components/Channel/Channel.d.ts.map +1 -1
  56. package/dist/components/Channel/Channel.js +1 -0
  57. package/dist/components/Emojis/index.cjs.js +3 -3
  58. package/dist/components/Gallery/BaseImage.js +1 -1
  59. package/dist/components/Message/MessageEditedTimestamp.d.ts +8 -0
  60. package/dist/components/Message/MessageEditedTimestamp.d.ts.map +1 -0
  61. package/dist/components/Message/MessageEditedTimestamp.js +22 -0
  62. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  63. package/dist/components/Message/MessageSimple.js +13 -3
  64. package/dist/components/Message/MessageTimestamp.d.ts +1 -1
  65. package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
  66. package/dist/components/Message/MessageTimestamp.js +8 -13
  67. package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
  68. package/dist/components/Message/QuotedMessage.js +1 -1
  69. package/dist/components/Message/Timestamp.d.ts +10 -0
  70. package/dist/components/Message/Timestamp.d.ts.map +1 -0
  71. package/dist/components/Message/Timestamp.js +24 -0
  72. package/dist/components/Message/renderText/index.d.ts +1 -1
  73. package/dist/components/Message/renderText/index.d.ts.map +1 -1
  74. package/dist/components/Message/utils.d.ts +1 -0
  75. package/dist/components/Message/utils.d.ts.map +1 -1
  76. package/dist/components/Message/utils.js +1 -0
  77. package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
  78. package/dist/components/MessageInput/QuotedMessagePreview.js +1 -1
  79. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  80. package/dist/components/MessageList/VirtualizedMessageListComponents.js +11 -6
  81. package/dist/components/MessageList/utils.d.ts.map +1 -1
  82. package/dist/components/MessageList/utils.js +5 -2
  83. package/dist/components/index.d.ts +2 -1
  84. package/dist/components/index.d.ts.map +1 -1
  85. package/dist/context/ComponentContext.d.ts +2 -0
  86. package/dist/context/ComponentContext.d.ts.map +1 -1
  87. package/dist/css/index.css +1 -1
  88. package/dist/css/v2/index.css +1 -1
  89. package/dist/css/v2/index.layout.css +1 -1
  90. package/dist/i18n/Streami18n.d.ts +3 -0
  91. package/dist/i18n/Streami18n.d.ts.map +1 -1
  92. package/dist/i18n/de.json +3 -0
  93. package/dist/i18n/en.json +3 -0
  94. package/dist/i18n/es.json +3 -0
  95. package/dist/i18n/fr.json +3 -0
  96. package/dist/i18n/hi.json +3 -0
  97. package/dist/i18n/it.json +3 -0
  98. package/dist/i18n/ja.json +3 -0
  99. package/dist/i18n/ko.json +3 -0
  100. package/dist/i18n/nl.json +3 -0
  101. package/dist/i18n/pt.json +3 -0
  102. package/dist/i18n/ru.json +3 -0
  103. package/dist/i18n/tr.json +3 -0
  104. package/dist/index.cjs.js +23 -7
  105. package/dist/scss/Message.scss +21 -17
  106. package/dist/scss/MessageActions.scss +0 -9
  107. package/dist/scss/_base.scss +8 -1
  108. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +84 -0
  109. package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +72 -1
  110. package/dist/scss/v2/EditMessageForm/EditMessageForm-layout.scss +13 -15
  111. package/dist/scss/v2/Message/Message-layout.scss +48 -4
  112. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +0 -8
  113. package/dist/scss/v2/_base.scss +1 -2
  114. package/dist/scss/v2/_utils.scss +0 -1
  115. package/dist/types/index.d.ts +1 -1
  116. package/dist/types/index.d.ts.map +1 -1
  117. package/dist/version.d.ts +1 -1
  118. package/dist/version.js +1 -1
  119. package/package.json +5 -5
  120. package/dist/components/Attachment/DownloadButton.d.ts.map +0 -1
  121. package/dist/components/Attachment/FileSizeIndicator.d.ts +0 -7
  122. package/dist/components/Attachment/FileSizeIndicator.d.ts.map +0 -1
  123. /package/dist/components/Attachment/{DownloadButton.d.ts → components/DownloadButton.d.ts} +0 -0
@@ -1,45 +1,80 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
- export var PROGRESS_UPDATE_INTERVAL = 100;
3
- export var useAudioController = function () {
4
- var _a = useState(false), isPlaying = _a[0], setIsPlaying = _a[1];
5
- var _b = useState(0), progress = _b[0], setProgress = _b[1];
2
+ import { useChannelActionContext, useTranslationContext } from '../../../context';
3
+ export var elementIsPlaying = function (audioElement) {
4
+ return audioElement && !(audioElement.paused || audioElement.ended);
5
+ };
6
+ var DEFAULT_PLAYBACK_RATES = [1.0, 1.5, 2.0];
7
+ export var useAudioController = function (_a) {
8
+ var _b = _a === void 0 ? {} : _a, durationSeconds = _b.durationSeconds, _c = _b.playbackRates, playbackRates = _c === void 0 ? DEFAULT_PLAYBACK_RATES : _c;
9
+ var addNotification = useChannelActionContext('useAudioController').addNotification;
10
+ var t = useTranslationContext('useAudioController').t;
11
+ var _d = useState(false), isPlaying = _d[0], setIsPlaying = _d[1];
12
+ var _e = useState(0), secondsElapsed = _e[0], setSecondsElapsed = _e[1];
13
+ var _f = useState(0), playbackRateIndex = _f[0], setPlaybackRateIndex = _f[1];
6
14
  var audioRef = useRef(null);
7
15
  var togglePlay = useCallback(function () {
8
- setIsPlaying(function (playing) { return !playing; });
16
+ if (!audioRef.current)
17
+ return;
18
+ if (!elementIsPlaying(audioRef.current)) {
19
+ audioRef.current.play();
20
+ setIsPlaying(true);
21
+ }
22
+ else {
23
+ audioRef.current.pause();
24
+ setIsPlaying(false);
25
+ }
9
26
  }, []);
27
+ var increasePlaybackRate = function () {
28
+ setPlaybackRateIndex(function (prev) {
29
+ if (!audioRef.current)
30
+ return prev;
31
+ var nextIndex = prev === playbackRates.length - 1 ? 0 : prev + 1;
32
+ audioRef.current.playbackRate = playbackRates[nextIndex];
33
+ return nextIndex;
34
+ });
35
+ };
10
36
  var seek = useCallback(function (_a) {
11
37
  var clientX = _a.clientX, currentTarget = _a.currentTarget;
12
38
  if (!audioRef.current)
13
39
  return;
14
40
  var _b = currentTarget.getBoundingClientRect(), width = _b.width, x = _b.x;
15
41
  var ratio = (clientX - x) / width;
16
- if (!isPlaying)
17
- setProgress(ratio * 100);
18
- audioRef.current.currentTime = ratio * audioRef.current.duration;
19
- }, [isPlaying]);
42
+ var currentTime = ratio * audioRef.current.duration;
43
+ setSecondsElapsed(currentTime);
44
+ audioRef.current.currentTime = currentTime;
45
+ }, []);
20
46
  useEffect(function () {
21
- if (!audioRef.current || !isPlaying)
47
+ if (!audioRef.current)
22
48
  return;
23
- var interval = window.setInterval(function () {
24
- if (!audioRef.current)
25
- return;
26
- var _a = audioRef.current, currentTime = _a.currentTime, duration = _a.duration;
27
- setProgress((currentTime / duration) * 100);
28
- if (currentTime === duration)
29
- setIsPlaying(false);
30
- }, PROGRESS_UPDATE_INTERVAL);
31
- audioRef.current.play();
49
+ var audioElement = audioRef.current;
50
+ var handleEnded = function () {
51
+ var _a, _b;
52
+ setSecondsElapsed((_b = (_a = audioElement === null || audioElement === void 0 ? void 0 : audioElement.duration) !== null && _a !== void 0 ? _a : durationSeconds) !== null && _b !== void 0 ? _b : 0);
53
+ setIsPlaying(false);
54
+ };
55
+ audioElement.addEventListener('ended', handleEnded);
56
+ var handleError = function () {
57
+ addNotification(t('Error reproducing the recording'), 'error');
58
+ };
59
+ audioElement.addEventListener('error', handleError);
60
+ var handleTimeupdate = function () {
61
+ setSecondsElapsed(audioElement === null || audioElement === void 0 ? void 0 : audioElement.currentTime);
62
+ };
63
+ audioElement.addEventListener('timeupdate', handleTimeupdate);
32
64
  return function () {
33
- var _a;
34
- // eslint-disable-next-line react-hooks/exhaustive-deps
35
- (_a = audioRef.current) === null || _a === void 0 ? void 0 : _a.pause();
36
- window.clearInterval(interval);
65
+ audioElement.pause();
66
+ audioElement.removeEventListener('ended', handleEnded);
67
+ audioElement.removeEventListener('error', handleError);
68
+ audioElement.removeEventListener('timeupdate', handleTimeupdate);
37
69
  };
38
- }, [isPlaying]);
70
+ }, [addNotification, durationSeconds, t]);
39
71
  return {
40
72
  audioRef: audioRef,
73
+ increasePlaybackRate: increasePlaybackRate,
41
74
  isPlaying: isPlaying,
42
- progress: progress,
75
+ playbackRate: playbackRates[playbackRateIndex],
76
+ progress: audioRef.current && secondsElapsed ? (secondsElapsed / audioRef.current.duration) * 100 : 0,
77
+ secondsElapsed: secondsElapsed,
43
78
  seek: seek,
44
79
  togglePlay: togglePlay,
45
80
  };
@@ -3,6 +3,7 @@ export * from './AttachmentActions';
3
3
  export * from './AttachmentContainer';
4
4
  export * from './Audio';
5
5
  export * from './Card';
6
+ export * from './components';
6
7
  export * from './UnsupportedAttachment';
7
8
  export * from './FileAttachment';
8
9
  export * from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
@@ -3,6 +3,7 @@ export * from './AttachmentActions';
3
3
  export * from './AttachmentContainer';
4
4
  export * from './Audio';
5
5
  export * from './Card';
6
+ export * from './components';
6
7
  export * from './UnsupportedAttachment';
7
8
  export * from './FileAttachment';
8
9
  export * from './utils';
@@ -1,7 +1,6 @@
1
1
  import React, { PropsWithChildren, ReactNode } from 'react';
2
- import type { ATTACHMENT_GROUPS_ORDER } from './Attachment';
3
2
  import type { Attachment } from 'stream-chat';
4
- import type { AttachmentProps } from './Attachment';
3
+ import type { ATTACHMENT_GROUPS_ORDER, AttachmentProps } from './Attachment';
5
4
  import type { DefaultStreamChatGenerics } from '../../types/types';
6
5
  export declare const SUPPORTED_VIDEO_FORMATS: string[];
7
6
  export type AttachmentComponentType = typeof ATTACHMENT_GROUPS_ORDER[number];
@@ -24,6 +23,7 @@ export declare const isScrapedContent: <StreamChatGenerics extends DefaultStream
24
23
  export declare const isUploadedImage: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(attachment: Attachment<StreamChatGenerics>) => boolean;
25
24
  export declare const isGalleryAttachmentType: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(output: Attachment<StreamChatGenerics> | GalleryAttachment<StreamChatGenerics>) => output is GalleryAttachment<StreamChatGenerics>;
26
25
  export declare const isAudioAttachment: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(attachment: Attachment<StreamChatGenerics>) => boolean;
26
+ export declare const isVoiceRecordingAttachment: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(attachment: Attachment<StreamChatGenerics>) => boolean;
27
27
  export declare const isFileAttachment: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(attachment: Attachment<StreamChatGenerics>) => boolean | "" | undefined;
28
28
  export declare const isMediaAttachment: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(attachment: Attachment<StreamChatGenerics>) => boolean;
29
29
  export declare const isSvgAttachment: (attachment: Attachment) => boolean;
@@ -67,4 +67,6 @@ export declare const renderAudio: <StreamChatGenerics extends DefaultStreamChatG
67
67
  * replaced with the proper component equivalent `AttachmentContainer/MediaContainer`
68
68
  */
69
69
  export declare const renderMedia: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: RenderAttachmentProps<StreamChatGenerics>) => React.JSX.Element;
70
+ export declare const divMod: (num: number, divisor: number) => number[];
71
+ export declare const displayDuration: (totalSeconds?: number) => string;
70
72
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAO5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,uBAAuB,UAA8D,CAAC;AAEnG,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC;AAErF,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACnF,aAAa,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,sJAIyB,CAAC;AAEvD,eAAO,MAAM,eAAe,2IAIqC,CAAC;AAElE,eAAO,MAAM,uBAAuB,uNAI8C,CAAC;AAEnF,eAAO,MAAM,iBAAiB,2IAIE,CAAC;AAEjC,eAAO,MAAM,gBAAgB,4JAQG,CAAC;AAEjC,eAAO,MAAM,iBAAiB,2IAMD,CAAC;AAE9B,eAAO,MAAM,eAAe,eAAgB,UAAU,YAGrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uLA2B3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kKAmBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,wJAYzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAyBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2JAyBtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,kKActB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAgBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JA8CvB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAU5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,uBAAuB,UAA8D,CAAC;AAEnG,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC;AAErF,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACnF,aAAa,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,sJAIyB,CAAC;AAEvD,eAAO,MAAM,eAAe,2IAIqC,CAAC;AAElE,eAAO,MAAM,uBAAuB,uNAI8C,CAAC;AAEnF,eAAO,MAAM,iBAAiB,2IAIE,CAAC;AAEjC,eAAO,MAAM,0BAA0B,2IAIE,CAAC;AAE1C,eAAO,MAAM,gBAAgB,4JAQG,CAAC;AAEjC,eAAO,MAAM,iBAAiB,2IAMD,CAAC;AAE9B,eAAO,MAAM,eAAe,eAAgB,UAAU,YAGrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uLA2B3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kKAmBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,wJAYzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAyBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2JAyBtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,kKActB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAgBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JA8CvB,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,MAAM,WAAW,MAAM,aAA+C,CAAC;AAEnG,eAAO,MAAM,eAAe,kBAAmB,MAAM,WAapD,CAAC"}
@@ -12,6 +12,7 @@ export var isScrapedContent = function (attachment) { return attachment.og_scrap
12
12
  export var isUploadedImage = function (attachment) { return attachment.type === 'image' && !isScrapedContent(attachment); };
13
13
  export var isGalleryAttachmentType = function (output) { return Array.isArray(output.images); };
14
14
  export var isAudioAttachment = function (attachment) { return attachment.type === 'audio'; };
15
+ export var isVoiceRecordingAttachment = function (attachment) { return attachment.type === 'voiceRecording'; };
15
16
  export var isFileAttachment = function (attachment) {
16
17
  return attachment.type === 'file' ||
17
18
  (attachment.mime_type &&
@@ -169,3 +170,16 @@ export var renderMedia = function (props) {
169
170
  componentType: 'media',
170
171
  });
171
172
  };
173
+ export var divMod = function (num, divisor) { return [Math.floor(num / divisor), num % divisor]; };
174
+ export var displayDuration = function (totalSeconds) {
175
+ if (!totalSeconds || totalSeconds < 0)
176
+ return '00:00';
177
+ var _a = divMod(totalSeconds, 3600), hours = _a[0], hoursLeftover = _a[1];
178
+ var _b = divMod(hoursLeftover, 60), minutes = _b[0], seconds = _b[1];
179
+ var roundedSeconds = Math.ceil(seconds);
180
+ var prependHrsZero = hours.toString().length === 1 ? '0' : '';
181
+ var prependMinZero = minutes.toString().length === 1 ? '0' : '';
182
+ var prependSecZero = roundedSeconds.toString().length === 1 ? '0' : '';
183
+ var minSec = "".concat(prependMinZero).concat(minutes, ":").concat(prependSecZero).concat(roundedSeconds);
184
+ return hours ? "".concat(prependHrsZero).concat(hours, ":") + minSec : minSec;
185
+ };
@@ -43,8 +43,8 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
43
43
  * @param event React.KeyboardEvent
44
44
  */
45
45
  _defaultShouldSubmit: (event: any) => boolean;
46
- _handleKeyDown: (event: any) => void;
47
- _onEnter: (event: any) => void;
46
+ _handleKeyDown: (event: any) => void | Promise<void>;
47
+ _onEnter: (event: any) => Promise<void>;
48
48
  _onSpace: () => void;
49
49
  _replaceWord: () => Promise<void>;
50
50
  _onSelect: (newToken: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAmBA;IACE;;;;;;;MAOE;IA8WF;;OAEG;IACH;;;aAMC;IArXD,wBA6BC;IAbC;;;;;;;;;;;;MAYC;IAIH;;;aAOE;IAGF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qCAUE;IAEF,+BAcE;IAEF,qBAQE;IAEF,kCA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCA0BE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,0DA6CC;IAED,4BA6EC;IATS,oDAAsB;CAUjC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAmBA;IACE;;;;;;;MAOE;IA8WF;;OAEG;IACH;;;aAMC;IArXD,wBA6BC;IAbC;;;;;;;;;;;;MAYC;IAIH;;;aAOE;IAGF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qDAUE;IAEF,wCAcE;IAEF,qBAQE;IAEF,kCA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCA0BE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,0DA6CC;IAED,4BA6EC;IATS,oDAAsB;CAUjC"}
@@ -66,20 +66,30 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
66
66
  if (event.key === 'Escape')
67
67
  return _this._closeAutocomplete();
68
68
  };
69
- _this._onEnter = function (event) {
70
- if (!_this.textareaRef)
71
- return;
72
- var trigger = _this.state.currentTrigger;
73
- if (!trigger || !_this.state.data) {
74
- // trigger a submit
75
- _this._replaceWord();
76
- if (_this.textareaRef) {
77
- _this.textareaRef.selectionEnd = 0;
69
+ _this._onEnter = function (event) { return __awaiter(_this, void 0, void 0, function () {
70
+ var trigger;
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0:
74
+ if (!this.textareaRef)
75
+ return [2 /*return*/];
76
+ trigger = this.state.currentTrigger;
77
+ if (!(!trigger || !this.state.data)) return [3 /*break*/, 2];
78
+ // trigger a submit
79
+ return [4 /*yield*/, this._replaceWord()];
80
+ case 1:
81
+ // trigger a submit
82
+ _a.sent();
83
+ if (this.textareaRef) {
84
+ this.textareaRef.selectionEnd = 0;
85
+ }
86
+ this.props.handleSubmit(event);
87
+ this._closeAutocomplete();
88
+ _a.label = 2;
89
+ case 2: return [2 /*return*/];
78
90
  }
79
- _this.props.handleSubmit(event);
80
- _this._closeAutocomplete();
81
- }
82
- };
91
+ });
92
+ }); };
83
93
  _this._onSpace = function () {
84
94
  if (!_this.props.replaceWord || !_this.textareaRef)
85
95
  return;
@@ -95,6 +95,8 @@ type ChannelPropsForwardedToComponentContext<StreamChatGenerics extends DefaultS
95
95
  ThreadHeader?: ComponentContextValue<StreamChatGenerics>['ThreadHeader'];
96
96
  /** Custom UI component to display the start of a threaded `MessageList`, defaults to and accepts same props as: [DefaultThreadStart](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */
97
97
  ThreadStart?: ComponentContextValue<StreamChatGenerics>['ThreadStart'];
98
+ /** Custom UI component to display a date used in timestamps. It's used internally by the default `MessageTimestamp`, and to display a timestamp for edited messages. */
99
+ Timestamp?: ComponentContextValue<StreamChatGenerics>['Timestamp'];
98
100
  /** Optional context provider that lets you override the default autocomplete triggers, defaults to: [DefaultTriggerProvider](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/DefaultTriggerProvider.tsx) */
99
101
  TriggerProvider?: ComponentContextValue<StreamChatGenerics>['TriggerProvider'];
100
102
  /** Custom UI component for the typing indicator, defaults to and accepts same props as: [TypingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/TypingIndicator/TypingIndicator.tsx) */
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAQlB,MAAM,OAAO,CAAC;AAKf,OAAO,EAGL,mBAAmB,EAGnB,gBAAgB,EAChB,OAAO,EACP,eAAe,EAEf,OAAO,IAAI,aAAa,EACxB,UAAU,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,eAAe,EAAuB,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAEL,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAWpB,OAAO,EAGL,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAC;AAW1F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAMtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAA0B,eAAe,EAAE,MAAM,cAAc,CAAC;AAIvE,KAAK,uCAAuC,CAC1C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,oNAAoN;IACpN,UAAU,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,kPAAkP;IAClP,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC3F,4OAA4O;IAC5O,4BAA4B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACzG,qOAAqO;IACrO,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrG,oPAAoP;IACpP,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrG,4LAA4L;IAC5L,MAAM,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,iPAAiP;IACjP,SAAS,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC;IACnE,oOAAoO;IACpO,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,sRAAsR;IACtR,wBAAwB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACjG,mMAAmM;IACnM,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,uOAAuO;IACvO,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjF,iFAAiF;IACjF,WAAW,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;IACvE,iNAAiN;IACjN,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjF,gQAAgQ;IAChQ,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,0MAA0M;IAC1M,cAAc,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7E,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,oEAAoE;IACpE,eAAe,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,gPAAgP;IAChP,KAAK,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3D,iEAAiE;IACjE,eAAe,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,8OAA8O;IAC9O,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACxE,uPAAuP;IACvP,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjF,8OAA8O;IAC9O,OAAO,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,yTAAyT;IACzT,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,+MAA+M;IAC/M,cAAc,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7E,sSAAsS;IACtS,wBAAwB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACjG,kRAAkR;IAClR,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,mNAAmN;IACnN,cAAc,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7E,0OAA0O;IAC1O,yBAAyB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACnG,0NAA0N;IAC1N,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,2NAA2N;IAC3N,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,iOAAiO;IACjO,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjF,gOAAgO;IAChO,YAAY,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC;IACzE,2NAA2N;IAC3N,YAAY,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC;IACzE,uOAAuO;IACvO,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,iQAAiQ;IACjQ,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACzF,gHAAgH;IAChH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gOAAgO;IAChO,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjF,uOAAuO;IACvO,aAAa,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3E,iMAAiM;IACjM,UAAU,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,qQAAqQ;IACrQ,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnE,yNAAyN;IACzN,YAAY,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC;IACzE,qOAAqO;IACrO,WAAW,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;IACvE,wKAAwK;IACxK,SAAS,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC;IACnE,mPAAmP;IACnP,eAAe,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,4NAA4N;IAC5N,eAAe,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,sUAAsU;IACtU,0BAA0B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAClF,wPAAwP;IACxP,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/F,uHAAuH;IACvH,cAAc,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAC9E,CAAC;AASF,MAAM,MAAM,YAAY,CACtB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,CAAC,SAAS,aAAa,GAAG,aAAa,IACrC,uCAAuC,CAAC,kBAAkB,CAAC,GAAG;IAChE,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qIAAqI;IACrI,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,uCAAuC;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,gGAAgG;IAChG,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,KACvC,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClD,8GAA8G;IAC9G,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,KAC5D,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1D,iHAAiH;IACjH,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACpC,OAAO,CAAC,EAAE,kBAAkB,KACzB,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,kHAAkH;IAClH,sBAAsB,CAAC,EAAE,CACvB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAClD,OAAO,CAAC,EAAE,oBAAoB,KAC3B,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACtC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACjE,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAC7E,wLAAwL;IACxL,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,4EAA4E;IAC5E,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yIAAyI;IACzI,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,eAAe,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACtD,iFAAiF;IACjF,eAAe,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACtD,6IAA6I;IAC7I,yBAAyB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACrE,qEAAqE;IACrE,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,mJAAmJ;IACnJ,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,4EAA4E;IAC5E,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CACzD,CAAC;AA68BF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,uNAA4D,CAAC"}
@@ -806,6 +806,7 @@ var ChannelInner = function (props) {
806
806
  ThreadHead: props.ThreadHead,
807
807
  ThreadHeader: props.ThreadHeader,
808
808
  ThreadStart: props.ThreadStart,
809
+ Timestamp: props.Timestamp,
809
810
  TriggerProvider: props.TriggerProvider,
810
811
  TypingIndicator: props.TypingIndicator,
811
812
  UnreadMessagesNotification: props.UnreadMessagesNotification,
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Window = require('../../Window-194c5448.js');
5
+ var Window = require('../../Window-40a618cb.js');
6
6
  var React = require('react');
7
7
  var Picker = require('@emoji-mart/react');
8
8
  require('dayjs');
@@ -27,10 +27,10 @@ require('dayjs/locale/ru');
27
27
  require('dayjs/locale/tr');
28
28
  require('dayjs/locale/en');
29
29
  require('react-player');
30
- require('pretty-bytes');
31
30
  require('@braintree/sanitize-url');
32
- require('react-image-gallery');
31
+ require('pretty-bytes');
33
32
  require('prop-types');
33
+ require('react-image-gallery');
34
34
  require('linkifyjs');
35
35
  require('emoji-regex');
36
36
  require('lodash.uniqby');
@@ -1,7 +1,7 @@
1
1
  import { __assign, __rest } from "tslib";
2
2
  import React, { forwardRef, useEffect, useState } from 'react';
3
3
  import clsx from 'clsx';
4
- import { DownloadButton } from '../Attachment/DownloadButton';
4
+ import { DownloadButton } from '../Attachment';
5
5
  export var BaseImage = forwardRef(function BaseImage(_a, ref) {
6
6
  var props = __rest(_a, []);
7
7
  var propsClassName = props.className, propsOnError = props.onError;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { DefaultStreamChatGenerics } from '../../types';
3
+ import type { MessageTimestampProps } from './MessageTimestamp';
4
+ export type MessageEditedTimestampProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = MessageTimestampProps<StreamChatGenerics> & {
5
+ open: boolean;
6
+ };
7
+ export declare function MessageEditedTimestamp<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ message: propMessage, open, ...timestampProps }: MessageEditedTimestampProps<StreamChatGenerics>): React.JSX.Element | null;
8
+ //# sourceMappingURL=MessageEditedTimestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageEditedTimestamp.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageEditedTimestamp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,MAAM,2BAA2B,CACrC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,qBAAqB,CAAC,kBAAkB,CAAC,GAAG;IAC9C,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,EACA,OAAO,EAAE,WAAW,EACpB,IAAI,EACJ,GAAG,cAAc,EAClB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,4BA0BjD"}
@@ -0,0 +1,22 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import React from 'react';
3
+ import clsx from 'clsx';
4
+ import { useComponentContext, useMessageContext, useTranslationContext } from '../../context';
5
+ import { Timestamp as DefaultTimestamp } from './Timestamp';
6
+ import { isMessageEdited } from './utils';
7
+ export function MessageEditedTimestamp(_a) {
8
+ var propMessage = _a.message, open = _a.open, timestampProps = __rest(_a, ["message", "open"]);
9
+ var t = useTranslationContext('MessageEditedTimestamp').t;
10
+ var contextMessage = useMessageContext('MessageEditedTimestamp').message;
11
+ var _b = useComponentContext('MessageEditedTimestamp').Timestamp, Timestamp = _b === void 0 ? DefaultTimestamp : _b;
12
+ var message = propMessage || contextMessage;
13
+ if (!isMessageEdited(message)) {
14
+ return null;
15
+ }
16
+ return (React.createElement("div", { className: clsx('str-chat__message-edited-timestamp', open
17
+ ? 'str-chat__message-edited-timestamp--open'
18
+ : 'str-chat__message-edited-timestamp--collapsed'), "data-testid": 'message-edited-timestamp' },
19
+ t('Edited'),
20
+ ' ',
21
+ React.createElement(Timestamp, __assign({ timestamp: message.message_text_updated_at }, timestampProps))));
22
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageSimple.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageSimple.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AA+BxC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAgNnE;;GAEG;AACH,eAAO,MAAM,aAAa,kKAQzB,CAAC"}
1
+ {"version":3,"file":"MessageSimple.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageSimple.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgCxC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA2NnE;;GAEG;AACH,eAAO,MAAM,aAAa,kKAQzB,CAAC"}
@@ -9,7 +9,7 @@ import { MessageRepliesCountButton as DefaultMessageRepliesCountButton } from '.
9
9
  import { MessageStatus as DefaultMessageStatus } from './MessageStatus';
10
10
  import { MessageText } from './MessageText';
11
11
  import { MessageTimestamp as DefaultMessageTimestamp } from './MessageTimestamp';
12
- import { areMessageUIPropsEqual, isMessageBounced, messageHasAttachments, messageHasReactions, } from './utils';
12
+ import { areMessageUIPropsEqual, isMessageBounced, isMessageEdited, messageHasAttachments, messageHasReactions, } from './utils';
13
13
  import { Avatar as DefaultAvatar } from '../Avatar';
14
14
  import { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';
15
15
  import { EditMessageForm as DefaultEditMessageForm, MessageInput } from '../MessageInput';
@@ -20,11 +20,15 @@ import { MessageBounceModal } from '../MessageBounce/MessageBounceModal';
20
20
  import { useChatContext } from '../../context/ChatContext';
21
21
  import { useComponentContext } from '../../context/ComponentContext';
22
22
  import { useMessageContext } from '../../context/MessageContext';
23
+ import { useTranslationContext } from '../../context';
24
+ import { MessageEditedTimestamp } from './MessageEditedTimestamp';
23
25
  var MessageSimpleWithContext = function (props) {
24
26
  var _a;
25
27
  var additionalMessageInputProps = props.additionalMessageInputProps, clearEditingState = props.clearEditingState, editing = props.editing, endOfGroup = props.endOfGroup, firstOfGroup = props.firstOfGroup, groupedByUser = props.groupedByUser, handleAction = props.handleAction, handleOpenThread = props.handleOpenThread, handleRetry = props.handleRetry, highlighted = props.highlighted, isMyMessage = props.isMyMessage, isReactionEnabled = props.isReactionEnabled, message = props.message, onUserClick = props.onUserClick, onUserHover = props.onUserHover, reactionSelectorRef = props.reactionSelectorRef, renderText = props.renderText, showDetailedReactions = props.showDetailedReactions, threadList = props.threadList;
28
+ var t = useTranslationContext('MessageSimple').t;
26
29
  var _b = useState(false), isBounceDialogOpen = _b[0], setIsBounceDialogOpen = _b[1];
27
- var _c = useComponentContext('MessageSimple'), Attachment = _c.Attachment, _d = _c.Avatar, Avatar = _d === void 0 ? DefaultAvatar : _d, _e = _c.EditMessageInput, EditMessageInput = _e === void 0 ? DefaultEditMessageForm : _e, _f = _c.MessageDeleted, MessageDeleted = _f === void 0 ? DefaultMessageDeleted : _f, _g = _c.MessageBouncePrompt, MessageBouncePrompt = _g === void 0 ? DefaultMessageBouncePrompt : _g, _h = _c.MessageOptions, MessageOptions = _h === void 0 ? DefaultMessageOptions : _h, _j = _c.MessageRepliesCountButton, MessageRepliesCountButton = _j === void 0 ? DefaultMessageRepliesCountButton : _j, _k = _c.MessageStatus, MessageStatus = _k === void 0 ? DefaultMessageStatus : _k, _l = _c.MessageTimestamp, MessageTimestamp = _l === void 0 ? DefaultMessageTimestamp : _l, _m = _c.ReactionSelector, ReactionSelector = _m === void 0 ? DefaultReactionSelector : _m, _o = _c.ReactionsList, ReactionsList = _o === void 0 ? DefaultReactionList : _o;
30
+ var _c = useState(false), isEditedTimestampOpen = _c[0], setEditedTimestampOpen = _c[1];
31
+ var _d = useComponentContext('MessageSimple'), Attachment = _d.Attachment, _e = _d.Avatar, Avatar = _e === void 0 ? DefaultAvatar : _e, _f = _d.EditMessageInput, EditMessageInput = _f === void 0 ? DefaultEditMessageForm : _f, _g = _d.MessageDeleted, MessageDeleted = _g === void 0 ? DefaultMessageDeleted : _g, _h = _d.MessageBouncePrompt, MessageBouncePrompt = _h === void 0 ? DefaultMessageBouncePrompt : _h, _j = _d.MessageOptions, MessageOptions = _j === void 0 ? DefaultMessageOptions : _j, _k = _d.MessageRepliesCountButton, MessageRepliesCountButton = _k === void 0 ? DefaultMessageRepliesCountButton : _k, _l = _d.MessageStatus, MessageStatus = _l === void 0 ? DefaultMessageStatus : _l, _m = _d.MessageTimestamp, MessageTimestamp = _m === void 0 ? DefaultMessageTimestamp : _m, _o = _d.ReactionSelector, ReactionSelector = _o === void 0 ? DefaultReactionSelector : _o, _p = _d.ReactionsList, ReactionsList = _p === void 0 ? DefaultReactionList : _p;
28
32
  var themeVersion = useChatContext('MessageSimple').themeVersion;
29
33
  var hasAttachment = messageHasAttachments(message);
30
34
  var hasReactions = messageHasReactions(message);
@@ -45,6 +49,7 @@ var MessageSimpleWithContext = function (props) {
45
49
  var showReplyCountButton = !threadList && !!message.reply_count;
46
50
  var allowRetry = message.status === 'failed' && message.errorStatusCode !== 403;
47
51
  var isBounced = isMessageBounced(message);
52
+ var isEdited = isMessageEdited(message);
48
53
  var handleClick = undefined;
49
54
  if (allowRetry) {
50
55
  handleClick = function () { return handleRetry(message); };
@@ -52,6 +57,9 @@ var MessageSimpleWithContext = function (props) {
52
57
  else if (isBounced) {
53
58
  handleClick = function () { return setIsBounceDialogOpen(true); };
54
59
  }
60
+ else if (isEdited) {
61
+ handleClick = function () { return setEditedTimestampOpen(function (prev) { return !prev; }); };
62
+ }
55
63
  var rootClassName = clsx('str-chat__message str-chat__message-simple', "str-chat__message--".concat(message.type), "str-chat__message--".concat(message.status), isMyMessage()
56
64
  ? 'str-chat__message--me str-chat__message-simple--me'
57
65
  : 'str-chat__message--other', message.text ? 'str-chat__message--has-text' : 'has-no-text', {
@@ -91,7 +99,9 @@ var MessageSimpleWithContext = function (props) {
91
99
  showMetadata && themeVersion === '2' && (React.createElement("div", { className: 'str-chat__message-data str-chat__message-simple-data str-chat__message-metadata' },
92
100
  React.createElement(MessageStatus, null),
93
101
  !isMyMessage() && !!message.user && (React.createElement("span", { className: 'str-chat__message-simple-name' }, message.user.name || message.user.id)),
94
- React.createElement(MessageTimestamp, { calendar: true, customClass: 'str-chat__message-simple-timestamp' }))))));
102
+ React.createElement(MessageTimestamp, { calendar: true, customClass: 'str-chat__message-simple-timestamp' }),
103
+ isEdited && (React.createElement("span", { className: 'str-chat__mesage-simple-edited' }, t('Edited'))),
104
+ isEdited && React.createElement(MessageEditedTimestamp, { calendar: true, open: isEditedTimestampOpen }))))));
95
105
  };
96
106
  var MemoizedMessageSimple = React.memo(MessageSimpleWithContext, areMessageUIPropsEqual);
97
107
  /**
@@ -8,5 +8,5 @@ export type MessageTimestampProps<StreamChatGenerics extends DefaultStreamChatGe
8
8
  format?: string;
9
9
  message?: StreamMessage<StreamChatGenerics>;
10
10
  };
11
- export declare const MessageTimestamp: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: MessageTimestampProps<StreamChatGenerics>) => React.JSX.Element | null;
11
+ export declare const MessageTimestamp: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: MessageTimestampProps<StreamChatGenerics>) => React.JSX.Element;
12
12
  //# sourceMappingURL=MessageTimestamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTimestamp.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageTimestamp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7C,CAAC;AAwCF,eAAO,MAAM,gBAAgB,kKAES,CAAC"}
1
+ {"version":3,"file":"MessageTimestamp.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageTimestamp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7C,CAAC;AAcF,eAAO,MAAM,gBAAgB,2JAES,CAAC"}
@@ -1,19 +1,14 @@
1
- import React, { useMemo } from 'react';
1
+ import { __assign, __rest } from "tslib";
2
+ import React from 'react';
2
3
  import { useMessageContext } from '../../context/MessageContext';
3
- import { isDate, useTranslationContext } from '../../context/TranslationContext';
4
- import { getDateString } from '../../i18n/utils';
4
+ import { Timestamp as DefaultTimestamp } from './Timestamp';
5
+ import { useComponentContext } from '../../context';
5
6
  export var defaultTimestampFormat = 'h:mmA';
6
7
  var UnMemoizedMessageTimestamp = function (props) {
7
- var _a = props.calendar, calendar = _a === void 0 ? false : _a, _b = props.customClass, customClass = _b === void 0 ? '' : _b, _c = props.format, format = _c === void 0 ? defaultTimestampFormat : _c, propMessage = props.message;
8
- var _d = useMessageContext('MessageTimestamp'), formatDate = _d.formatDate, contextMessage = _d.message;
9
- var tDateTimeParser = useTranslationContext('MessageTimestamp').tDateTimeParser;
8
+ var propMessage = props.message, timestampProps = __rest(props, ["message"]);
9
+ var contextMessage = useMessageContext('MessageTimestamp').message;
10
+ var _a = useComponentContext('MessageTimestamp').Timestamp, Timestamp = _a === void 0 ? DefaultTimestamp : _a;
10
11
  var message = propMessage || contextMessage;
11
- var messageCreatedAt = message.created_at && isDate(message.created_at)
12
- ? message.created_at.toISOString()
13
- : message.created_at;
14
- var when = useMemo(function () { return getDateString({ calendar: calendar, format: format, formatDate: formatDate, messageCreatedAt: messageCreatedAt, tDateTimeParser: tDateTimeParser }); }, [formatDate, calendar, tDateTimeParser, format, messageCreatedAt]);
15
- if (!when)
16
- return null;
17
- return (React.createElement("time", { className: customClass, dateTime: messageCreatedAt, title: messageCreatedAt }, when));
12
+ return React.createElement(Timestamp, __assign({ timestamp: message.created_at }, timestampProps));
18
13
  };
19
14
  export var MessageTimestamp = React.memo(UnMemoizedMessageTimestamp);
@@ -1 +1 @@
1
- {"version":3,"file":"QuotedMessage.d.ts","sourceRoot":"","sources":["../../../src/components/Message/QuotedMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,aAAa,kHA2DzB,CAAC"}
1
+ {"version":3,"file":"QuotedMessage.d.ts","sourceRoot":"","sources":["../../../src/components/Message/QuotedMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,aAAa,kHA6DzB,CAAC"}
@@ -33,7 +33,7 @@ export var QuotedMessage = function () {
33
33
  } },
34
34
  quoted_message.user && (React.createElement(Avatar, { image: quoted_message.user.image, name: quoted_message.user.name || quoted_message.user.id, size: 20, user: quoted_message.user })),
35
35
  React.createElement("div", { className: 'quoted-message-inner str-chat__quoted-message-bubble', "data-testid": 'quoted-message-contents' },
36
- quotedMessageAttachment && React.createElement(Attachment, { attachments: [quotedMessageAttachment] }),
36
+ quotedMessageAttachment && (React.createElement(Attachment, { attachments: [quotedMessageAttachment], isQuoted: true })),
37
37
  React.createElement("div", { "data-testid": 'quoted-message-text' }, quotedMessageText))),
38
38
  ((_c = message.attachments) === null || _c === void 0 ? void 0 : _c.length) ? React.createElement(Attachment, { attachments: message.attachments }) : null));
39
39
  };
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface TimestampProps {
3
+ calendar?: boolean;
4
+ customClass?: string;
5
+ format?: string;
6
+ timestamp?: Date | string;
7
+ }
8
+ export declare const defaultTimestampFormat = "h:mmA";
9
+ export declare function Timestamp(props: TimestampProps): React.JSX.Element | null;
10
+ //# sourceMappingURL=Timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/components/Message/Timestamp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,4BA6B9C"}
@@ -0,0 +1,24 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useMessageContext } from '../../context/MessageContext';
3
+ import { isDate, useTranslationContext } from '../../context/TranslationContext';
4
+ import { getDateString } from '../../i18n/utils';
5
+ export var defaultTimestampFormat = 'h:mmA';
6
+ export function Timestamp(props) {
7
+ var timestamp = props.timestamp, _a = props.calendar, calendar = _a === void 0 ? false : _a, _b = props.customClass, customClass = _b === void 0 ? '' : _b, _c = props.format, format = _c === void 0 ? defaultTimestampFormat : _c;
8
+ var formatDate = useMessageContext('MessageTimestamp').formatDate;
9
+ var tDateTimeParser = useTranslationContext('MessageTimestamp').tDateTimeParser;
10
+ var normalizedTimestamp = timestamp && isDate(timestamp) ? timestamp.toISOString() : timestamp;
11
+ var when = useMemo(function () {
12
+ return getDateString({
13
+ calendar: calendar,
14
+ format: format,
15
+ formatDate: formatDate,
16
+ messageCreatedAt: normalizedTimestamp,
17
+ tDateTimeParser: tDateTimeParser,
18
+ });
19
+ }, [formatDate, calendar, tDateTimeParser, format, normalizedTimestamp]);
20
+ if (!when) {
21
+ return null;
22
+ }
23
+ return (React.createElement("time", { className: customClass, dateTime: normalizedTimestamp, title: normalizedTimestamp }, when));
24
+ }
@@ -1,4 +1,4 @@
1
- export { MentionProps } from './componentRenderers';
1
+ export type { MentionProps } from './componentRenderers';
2
2
  export { escapeRegExp, matchMarkdownLinks, messageCodeBlocks } from './regex';
3
3
  export * from './rehypePlugins';
4
4
  export * from './remarkPlugins';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/renderText/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -68,4 +68,5 @@ export declare const mapToUserNameOrId: TooltipUsernameMapper;
68
68
  export declare const getReadByTooltipText: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(users: UserResponse<StreamChatGenerics>[], t: TFunction, client: StreamChat<StreamChatGenerics>, tooltipUserNameMapper: TooltipUsernameMapper) => string;
69
69
  export declare const isOnlyEmojis: (text?: string) => boolean;
70
70
  export declare const isMessageBounced: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message: Pick<StreamMessage<StreamChatGenerics>, "type" | "moderation_details">) => boolean;
71
+ export declare const isMessageEdited: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message: Pick<StreamMessage<StreamChatGenerics>, "message_text_updated_at">) => boolean;
71
72
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC;AAEF,MAAM,MAAM,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,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,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,kGAWnC,YAAY,gCAmDhB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAKzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oDAErB,OAAO,GAAG,SAAS,YAsB/B,CAAC;AAmBF,eAAO,MAAM,oBAAoB;;;;;;aAsChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aA+BlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wJAI6C,CAAC;AAE9E,eAAO,MAAM,qBAAqB,wJAIyB,CAAC;AAE5D,eAAO,MAAM,SAAS,yMASrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,yMASlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,CAAC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAC/E,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,GACrC,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAsD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,mIAI5B,SAAS,iEAEW,qBAAqB,WAiD7C,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,YAOzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,gLAM4C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC;AAEF,MAAM,MAAM,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,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,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,kGAWnC,YAAY,gCAmDhB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAKzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oDAErB,OAAO,GAAG,SAAS,YAsB/B,CAAC;AAmBF,eAAO,MAAM,oBAAoB;;;;;;aAsChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aA+BlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wJAI6C,CAAC;AAE9E,eAAO,MAAM,qBAAqB,wJAIyB,CAAC;AAE5D,eAAO,MAAM,SAAS,yMASrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,yMASlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,CAAC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAC/E,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,GACrC,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAsD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,mIAI5B,SAAS,iEAEW,qBAAqB,WAiD7C,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,YAOzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,gLAM4C,CAAC;AAE1E,eAAO,MAAM,eAAe,4KAIU,CAAC"}
@@ -299,3 +299,4 @@ export var isMessageBounced = function (message) {
299
299
  return message.type === 'error' &&
300
300
  ((_a = message.moderation_details) === null || _a === void 0 ? void 0 : _a.action) === 'MESSAGE_RESPONSE_ACTION_BOUNCE';
301
301
  };
302
+ export var isMessageEdited = function (message) { return !!message.message_text_updated_at; };
@@ -1 +1 @@
1
- {"version":3,"file":"QuotedMessagePreview.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/QuotedMessagePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAWvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,0BAA0B,2GAoBtC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,oBAAoB,mLA+ChC,CAAC"}
1
+ {"version":3,"file":"QuotedMessagePreview.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/QuotedMessagePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAWvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,0BAA0B,2GAoBtC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,oBAAoB,mLAiDhC,CAAC"}